List:Commits« Previous MessageNext Message »
From:Alfranio Correia Date:September 8 2009 1:26pm
Subject:bzr commit into mysql-pe branch (alfranio.correia:3510) WL#2687
View as plain text  
#At file:///home/acorreia/workspace.sun/repository.mysql/bzrwork/bug-40278/mysql-pe-wl2687-push/ based on revid:alfranio.correia@stripped8110448-ap2i22h5p81zic9b

 3510 Alfranio Correia	2009-09-08
      WL#2687

    removed:
      mysql-test/suite/rpl/r/rpl_row_basic_11bugs-master.opt
      mysql-test/suite/rpl/r/rpl_row_basic_11bugs-slave.opt
    added:
      mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_mixed.result
      mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_stmt.result
      mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed-master.opt
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed.test
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_row.test
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt-master.opt
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt.test
      mysql-test/suite/rpl/t/rpl_mixed_row_innodb.test
      mysql-test/suite/rpl/t/rpl_start_stop_slave_stmt.test
      mysql-test/suite/rpl/t/rpl_stm_innodb.test
      mysql-test/suite/rpl/t/rpl_stop_middle_group_stmt.test
    renamed:
      mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result => mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_row.result
      mysql-test/suite/rpl/r/rpl_innodb.result => mysql-test/suite/rpl/r/rpl_stm_innodb.result
      mysql-test/suite/rpl/r/rpl_start_stop_slave.result => mysql-test/suite/rpl/r/rpl_start_stop_slave_stmt.result
      mysql-test/suite/rpl/r/rpl_stop_middle_group.result => mysql-test/suite/rpl/r/rpl_stop_middle_group_stmt.result
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size-master.opt => mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_row-master.opt
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test => mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test
      mysql-test/suite/rpl/t/rpl_innodb.test => mysql-test/extra/rpl_tests/rpl_innodb.test
      mysql-test/suite/rpl/t/rpl_start_stop_slave-slave.opt => mysql-test/suite/rpl/t/rpl_start_stop_slave_stmt-slave.opt
      mysql-test/suite/rpl/t/rpl_start_stop_slave.test => mysql-test/extra/rpl_tests/rpl_start_stop_slave.test
      mysql-test/suite/rpl/t/rpl_stop_middle_group.test => mysql-test/extra/rpl_tests/rpl_stop_middle_group.test
    modified:
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
      mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test
      mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
      mysql-test/extra/rpl_tests/rpl_insert_delayed.test
      mysql-test/extra/rpl_tests/rpl_insert_ignore.test
      mysql-test/extra/rpl_tests/rpl_loaddata.test
      mysql-test/extra/rpl_tests/rpl_log.test
      mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc
      mysql-test/include/commit.inc
      mysql-test/include/locktrans.inc
      mysql-test/r/commit_1innodb.result
      mysql-test/r/ctype_cp932_binlog_row.result
      mysql-test/r/mysqlbinlog.result
      mysql-test/r/mysqlbinlog_row.result
      mysql-test/r/mysqlbinlog_row_myisam.result
      mysql-test/r/mysqlbinlog_row_trans.result
      mysql-test/r/sp_trans_log.result
      mysql-test/suite/binlog/r/binlog_database.result
      mysql-test/suite/binlog/r/binlog_multi_engine.result
      mysql-test/suite/binlog/r/binlog_row_binlog.result
      mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
      mysql-test/suite/binlog/r/binlog_row_drop_tbl.result
      mysql-test/suite/binlog/r/binlog_row_insert_select.result
      mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
      mysql-test/suite/binlog/r/binlog_stm_binlog.result
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
      mysql-test/suite/binlog/r/binlog_stm_row.result
      mysql-test/suite/binlog/t/binlog_killed_simulate.test
      mysql-test/suite/ndb_binlog/r/ndb_binlog_format.result
      mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
      mysql-test/suite/rpl/r/rpl_blackhole.result
      mysql-test/suite/rpl/r/rpl_concurrency_error.result
      mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
      mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
      mysql-test/suite/rpl/r/rpl_loaddata.result
      mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
      mysql-test/suite/rpl/r/rpl_log_pos.result
      mysql-test/suite/rpl/r/rpl_packet.result
      mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
      mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
      mysql-test/suite/rpl/r/rpl_row_conflicts.result
      mysql-test/suite/rpl/r/rpl_row_create_table.result
      mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
      mysql-test/suite/rpl/r/rpl_row_insert_delayed.result
      mysql-test/suite/rpl/r/rpl_row_log.result
      mysql-test/suite/rpl/r/rpl_row_log_innodb.result
      mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
      mysql-test/suite/rpl/r/rpl_slave_skip.result
      mysql-test/suite/rpl/r/rpl_sp.result
      mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
      mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result
      mysql-test/suite/rpl/r/rpl_stm_log.result
      mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
      mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
      mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
      mysql-test/suite/rpl/t/rpl_blackhole.test
      mysql-test/suite/rpl/t/rpl_invoked_features.test
      mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
      mysql-test/suite/rpl/t/rpl_log_pos.test
      mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
      mysql-test/suite/rpl/t/rpl_read_only.test
      mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
      mysql-test/suite/rpl/t/rpl_row_until.test
      mysql-test/suite/rpl/t/rpl_slave_skip.test
      mysql-test/suite/rpl/t/rpl_trigger.test
      mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
      mysql-test/suite/rpl_ndb_big/r/rpl_ndb_mixed_engines_transactions.result
      mysql-test/t/mysqlbinlog.test
      sql/ha_ndbcluster_binlog.cc
      sql/handler.cc
      sql/log.cc
      sql/log.h
      sql/log_event.cc
      sql/log_event.h
      sql/log_event_old.cc
      sql/sp.cc
      sql/sql_acl.cc
      sql/sql_base.cc
      sql/sql_class.cc
      sql/sql_class.h
      sql/sql_delete.cc
      sql/sql_insert.cc
      sql/sql_load.cc
      sql/sql_parse.cc
      sql/sql_table.cc
      sql/sql_update.cc
      sql/sql_view.cc
      mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_row.result
      mysql-test/suite/rpl/r/rpl_stm_innodb.result
      mysql-test/suite/rpl/r/rpl_start_stop_slave_stmt.result
      mysql-test/suite/rpl/r/rpl_stop_middle_group_stmt.result
      mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test
      mysql-test/extra/rpl_tests/rpl_innodb.test
      mysql-test/extra/rpl_tests/rpl_start_stop_slave.test
=== modified file 'mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test'
--- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test	2009-03-06 22:17:00 +0000
+++ b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test	2009-09-08 11:25:50 +0000
@@ -328,23 +328,24 @@ let $MYSQLD_DATADIR= `select @@datadir`;
 # and does not make slave to stop)
 if (`select @@binlog_format = 'ROW'`)
 {
-  --exec $MYSQL_BINLOG --start-position=525 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
+  --echo This does not matter in ROW mode as the rolled back changes do not contain transactional changes as these 
+  --echo were previously flushed upon committing/rolling back each statement.
 }
 
 if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
 {
   --exec $MYSQL_BINLOG --start-position=556 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
-}
 
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval select
-(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval select
-@a like "%#%error_code=0%ROLLBACK\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
-@a like "%#%error_code=0%ROLLBACK\\r\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
-@a not like "%#%error_code=%error_code=%";
+  --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+  eval select
+  (@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
+  is not null;
+  --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+  eval select
+  @a like "%#%error_code=0%ROLLBACK\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
+  @a like "%#%error_code=0%ROLLBACK\\r\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
+  @a not like "%#%error_code=%error_code=%";
+}
 drop table t1, t2;
 
 #

=== renamed file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test' => 'mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test'
--- a/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test	2009-06-18 13:52:46 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test	2009-09-08 11:25:50 +0000
@@ -22,14 +22,6 @@
 #    
 ########################################################################################
 
-########################################################################################
-#                                Configuring the environment
-########################################################################################
---source include/have_innodb.inc
---source include/master-slave.inc
---source include/not_embedded.inc
---source include/not_windows.inc
-
 CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
 CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
 CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
@@ -50,30 +42,18 @@ eval INSERT INTO t1 (a, data) VALUES (1,
 --enable_query_log
 
 --echo *** Single statement on non-transactional table ***
---echo *** After WL#2687 the difference between STATEMENT/MIXED and ROW will not exist. ***
 --disable_query_log
---disable_warnings
-if (`SELECT @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
-{
-  eval INSERT INTO t2 (a, data) VALUES (2,
-       CONCAT($data, $data, $data, $data, $data, $data));
-  --echo Got one of the listed errors
-}
-if (`SELECT @@binlog_format = 'ROW'`)
-{
-  --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
-  eval INSERT INTO t2 (a, data) VALUES (2,
+--error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+eval INSERT INTO t2 (a, data) VALUES (2,
        CONCAT($data, $data, $data, $data, $data, $data));
-
-  connection slave;
-  --source include/wait_for_slave_sql_to_stop.inc
-  SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-  START SLAVE SQL_THREAD;
-  --source include/wait_for_slave_sql_to_start.inc
-}
---enable_warnings
 --enable_query_log
 
+connection slave;
+--source include/wait_for_slave_sql_to_stop.inc
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
+--source include/wait_for_slave_sql_to_start.inc
+
 connection master;
 
 --disable_query_log
@@ -86,7 +66,6 @@ eval INSERT INTO t2 (a, data) VALUES (5,
 --enable_query_log
 
 --echo *** Single statement on both transactional and non-transactional tables. ***
---echo *** After WL#2687 we will be able to change the order of the tables. ***
 --disable_query_log
 --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
 eval UPDATE t2, t1 SET t2.data = CONCAT($data, $data, $data, $data),
@@ -95,9 +74,21 @@ eval UPDATE t2, t1 SET t2.data = CONCAT(
 
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+
+if (`SELECT @@binlog_format = 'STATEMENT'`)
+{
+  SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+}
+if (`SELECT @@binlog_format = 'ROW' || @@binlog_format = 'MIXED'`)
+{
+  SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 2;
+}
 START SLAVE SQL_THREAD;
 --source include/wait_for_slave_sql_to_start.inc
+connection master;
+
+let $diff_statement= SELECT * FROM t1;
+--source include/diff_master_slave.inc
 
 #--echo ########################################################################################
 #--echo #                             2 - BEGIN - IMPLICIT COMMIT by DDL
@@ -154,7 +145,6 @@ if (`SELECT @@binlog_format = 'STATEMENT
   --disable_query_log
   CREATE TABLE t4 SELECT * FROM t1;
   --enable_query_log
-  --echo Got one of the listed errors
 }
 if (`SELECT @@binlog_format = 'ROW'`)
 {
@@ -186,6 +176,17 @@ BEGIN;
 CREATE TABLE t5 (a int);
 --enable_query_log
 
+if (`SELECT @@binlog_format = 'ROW'`)
+{
+  connection slave;
+  --source include/wait_for_slave_sql_to_stop.inc
+
+  SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+  START SLAVE SQL_THREAD;
+  --source include/wait_for_slave_sql_to_start.inc
+  connection master;
+}
+
 let $diff_statement= SELECT * FROM t1;
 --source include/diff_master_slave.inc
 
@@ -341,16 +342,30 @@ BEGIN;
 --eval INSERT INTO t1 (a, data) VALUES (1, $data);
 --eval INSERT INTO t1 (a, data) VALUES (2, $data);
 --eval INSERT INTO t2 (a, data) VALUES (3, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
---eval INSERT INTO t1 (a, data) VALUES (4, $data);
+if (`SELECT @@binlog_format = 'STATEMENT'`)
+{
+  --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+  --eval INSERT INTO t1 (a, data) VALUES (4, $data);
+}
+if (`SELECT @@binlog_format = 'ROW' || @@binlog_format = 'MIXED'`)
+{
+  --eval INSERT INTO t1 (a, data) VALUES (4, $data);
+}
 --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
 --eval INSERT INTO t1 (a, data) VALUES (5, $data);
 --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
 --eval INSERT INTO t1 (a, data) VALUES (6, $data);
 --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
 --eval INSERT INTO t1 (a, data) VALUES (7, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
---eval UPDATE t2 SET data= CONCAT($data, $data);
+if (`SELECT @@binlog_format = 'STATEMENT'`)
+{
+  --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+  --eval UPDATE t2 SET data= CONCAT($data, $data);
+}
+if (`SELECT @@binlog_format = 'ROW' || @@binlog_format = 'MIXED'`)
+{
+  --eval UPDATE t2 SET data= CONCAT($data, $data);
+}
 --eval INSERT INTO t1 (a, data) VALUES (8, 's');
 --eval INSERT INTO t1 (a, data) VALUES (9, 's');
 --eval INSERT INTO t2 (a, data) VALUES (10, 's');
@@ -363,19 +378,38 @@ BEGIN;
 --eval INSERT INTO t1 (a, data) VALUES (15, $data);
 --eval INSERT INTO t1 (a, data) VALUES (16, $data);
 --eval INSERT INTO t2 (a, data) VALUES (17, $data);
+if (`SELECT @@binlog_format = 'STATEMENT'`)
+{
+  --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+  --eval INSERT INTO t1 (a, data) VALUES (18, $data);
+}
+if (`SELECT @@binlog_format = 'ROW' || @@binlog_format = 'MIXED'`)
+{
+  --eval INSERT INTO t1 (a, data) VALUES (18, $data);
+}
 --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
---eval INSERT INTO t1 (a, data) VALUES (18, $data);
+--eval INSERT INTO t1 (a, data) VALUES (19, $data);
 --enable_query_log
 COMMIT;
 
-connection slave;
---source include/wait_for_slave_sql_to_stop.inc
+if (`SELECT @@binlog_format = 'STATEMENT'`)
+{
+  connection slave;
+  --source include/wait_for_slave_sql_to_stop.inc
+  
+  SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+  START SLAVE SQL_THREAD;
+  --source include/wait_for_slave_sql_to_start.inc
+  connection master;
+}
+
+let $diff_statement= SELECT * FROM t1;
+--source include/diff_master_slave.inc
 
 --echo ########################################################################################
 --echo #                                        CLEAN
 --echo ########################################################################################
 
---disable_warnings
 connection master;
 DROP TABLE t1;
 DROP TABLE t2;
@@ -384,12 +418,4 @@ DROP TABLE IF EXISTS t4;
 DROP TABLE IF EXISTS t5;
 DROP TABLE IF EXISTS t6;
 DROP PROCEDURE p1;
-connection slave;
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
-DROP PROCEDURE p1;
---enable_warnings
+sync_slave_with_master;

=== modified file 'mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test'
--- a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test	2009-04-08 13:09:37 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test	2009-09-08 11:25:50 +0000
@@ -95,9 +95,8 @@ SELECT * FROM t2 ORDER BY a;
 connection slave;
 START SLAVE;
 source include/wait_for_slave_sql_to_stop.inc;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 STOP SLAVE;
 RESET SLAVE;
 SELECT * FROM t2 ORDER BY a;
@@ -148,9 +147,8 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TE
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 
@@ -193,9 +191,8 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle,
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 
@@ -238,9 +235,8 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 
@@ -284,9 +280,8 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 #START SLAVE;
 
@@ -490,9 +485,8 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 
@@ -534,9 +528,8 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 
@@ -806,9 +799,8 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER 
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
 START SLAVE;
 
@@ -917,9 +909,8 @@ INSERT INTO t17 () VALUES(92233720368547
 --echo ********************************************
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
---query_vertical SHOW SLAVE STATUS
+--let $errno= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1)
+--echo Slave failed with Error $errno
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 

=== modified file 'mysql-test/extra/rpl_tests/rpl_flsh_tbls.test'
--- a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test	2009-02-13 16:30:54 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test	2009-09-08 11:25:50 +0000
@@ -18,21 +18,17 @@ insert into t4 select * from t3;
 rename table t1 to t5, t2 to t1;
 # RENAME may have confused the master (this is a known bug): so FLUSH tables,
 # first don't write it to the binlog, to test the NO_WRITE_TO_BINLOG keyword.
+let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
 flush no_write_to_binlog tables;
 # Check that it's not in the binlog.
---replace_result $SERVER_VERSION SERVER_VERSION
---replace_column 2 # 5 #
---replace_regex /table_id: [0-9]+/table_id: #/
-eval SHOW BINLOG EVENTS FROM $rename_event_pos ;
+source include/show_binlog_events.inc;
 # Check that the master is not confused.
 select * from t3;
 # This FLUSH should go into the binlog to not confuse the slave.
+let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
 flush tables;
 # Check that it's in the binlog.
---replace_result $SERVER_VERSION SERVER_VERSION
---replace_column 2 # 5 #
---replace_regex /table_id: [0-9]+/table_id: #/
-eval SHOW BINLOG EVENTS FROM $rename_event_pos ;
+source include/show_binlog_events.inc;
 
 sync_slave_with_master;
 # Check that the slave is not confused.

=== renamed file 'mysql-test/suite/rpl/t/rpl_innodb.test' => 'mysql-test/extra/rpl_tests/rpl_innodb.test'
--- a/mysql-test/suite/rpl/t/rpl_innodb.test	2009-07-02 09:40:40 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_innodb.test	2009-09-08 11:25:50 +0000
@@ -1,9 +1,3 @@
-# File for specialities regarding replication from or to InnoDB
-# tables.
-
-source include/master-slave.inc;
-source include/have_innodb.inc;
-
 #
 # Bug#11401: Load data infile 'REPLACE INTO' fails on slave.
 #
@@ -76,7 +70,7 @@ sync_slave_with_master;
 connection slave;
 
 # We want to verify that the following transactions are written to the
-# binlog, despite the transaction is rolled back. (The should be
+# binlog, despite the transaction is rolled back. (They should be
 # written to the binlog since they contain non-transactional DROP
 # TEMPORARY TABLE).  To see that, we use the auxiliary table t1, which
 # is transactional (InnoDB) on master and MyISAM on slave. t1 should
@@ -84,6 +78,10 @@ connection slave;
 # the transaction to be logged. Since t1 is non-transactional on
 # slave, the change will not be rolled back, so the inserted rows will
 # stay in t1 and we can verify that the transaction was replicated.
+#
+# Note however, that the previous explanation is not true for ROW and
+# MIXED modes as rollback on a transactional table is not written to
+# the binary log.
 ALTER TABLE mysqltest1.t1 ENGINE = MyISAM;
 SHOW CREATE TABLE mysqltest1.t1;
 

=== modified file 'mysql-test/extra/rpl_tests/rpl_insert_delayed.test'
--- a/mysql-test/extra/rpl_tests/rpl_insert_delayed.test	2007-09-27 14:05:07 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_insert_delayed.test	2009-09-08 11:25:50 +0000
@@ -38,6 +38,8 @@ connection master;
 truncate table t1;
 # first scenario: duplicate on first row
 insert delayed into t1 values(10, "my name");
+flush table t1;
+select * from t1;
 if ($binlog_format_statement)
 {
   # statement below will be converted to non-delayed INSERT and so
@@ -49,7 +51,7 @@ if (!$binlog_format_statement)
 {
   insert delayed into t1 values(10, "is Bond"), (20, "James Bond");
 }
-flush table t1; # to wait for INSERT DELAYED to be done
+flush table t1;
 select * from t1;
 sync_slave_with_master;
 # when bug existed in statement-based binlogging, t1 on slave had

=== modified file 'mysql-test/extra/rpl_tests/rpl_insert_ignore.test'
--- a/mysql-test/extra/rpl_tests/rpl_insert_ignore.test	2007-06-18 13:36:10 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_insert_ignore.test	2009-09-08 11:25:50 +0000
@@ -55,7 +55,9 @@ INSERT INTO t1 VALUES (2, 2);
 INSERT INTO t1 VALUES (3, 3);
 INSERT INTO t1 VALUES (4, 4);
 
+--disable_warnings
 INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
+--enable_warnings
 
 SELECT * FROM t1 ORDER BY a;
 

=== modified file 'mysql-test/extra/rpl_tests/rpl_loaddata.test'
--- a/mysql-test/extra/rpl_tests/rpl_loaddata.test	2008-11-13 19:40:36 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test	2009-09-08 11:25:50 +0000
@@ -1,5 +1,5 @@
 # Requires statement logging
--- source include/have_binlog_format_mixed_or_statement.inc
+-- source include/have_binlog_format_statement.inc
 
 # See if replication of a "LOAD DATA in an autoincrement column"
 # Honours autoincrement values
@@ -71,7 +71,7 @@ set global sql_slave_skip_counter=1;
 start slave;
 sync_with_master;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--replace_column 1 # 7 # 8 # 9 # 16 # 23 # 33 #
 --query_vertical show slave status;
 
 # Trigger error again to test CHANGE MASTER
@@ -93,7 +93,7 @@ stop slave;
 change master to master_user='test';
 change master to master_user='root';
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--replace_column 1 # 7 # 8 # 9 # 16 # 23 # 33 #
 --query_vertical show slave status;
 
 # Trigger error again to test RESET SLAVE

=== modified file 'mysql-test/extra/rpl_tests/rpl_log.test'
--- a/mysql-test/extra/rpl_tests/rpl_log.test	2009-02-03 06:49:48 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_log.test	2009-09-08 11:25:50 +0000
@@ -102,7 +102,7 @@ show binlog events in 'slave-bin.000001'
 --replace_column 2 # 5 #
 --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
 show binlog events in 'slave-bin.000002' from 4;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
 
 # Need to recode the following
 

=== modified file 'mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc'
--- a/mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc	2009-05-13 11:04:33 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc	2009-09-08 11:25:50 +0000
@@ -23,7 +23,7 @@ let $binary_log_limit_row= 3;
 
 -- echo [MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows  *********
 let $binary_log_file= ;
-let $binary_log_limit_row= 3;
+let $binary_log_limit_row= 4;
 let $binary_log_limit_offset= 1;
 -- source include/show_binlog_events.inc
 
@@ -49,7 +49,7 @@ let $binary_log_limit_row= 3;
 
 -- echo [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows  *********
 let $binary_log_file= ;
-let $binary_log_limit_row= 3;
+let $binary_log_limit_row= 4;
 let $binary_log_limit_offset= 1;
 -- source include/show_binlog_events.inc
 

=== renamed file 'mysql-test/suite/rpl/t/rpl_start_stop_slave.test' => 'mysql-test/extra/rpl_tests/rpl_start_stop_slave.test'
--- a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test	2009-04-21 09:48:03 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_start_stop_slave.test	2009-09-08 11:25:50 +0000
@@ -1,5 +1,6 @@
 source include/master-slave.inc;
 source include/have_innodb.inc;
+source include/have_binlog_format_statement.inc;
 
 #
 # Bug#6148 ()

=== renamed file 'mysql-test/suite/rpl/t/rpl_stop_middle_group.test' => 'mysql-test/extra/rpl_tests/rpl_stop_middle_group.test'
=== modified file 'mysql-test/include/commit.inc'
--- a/mysql-test/include/commit.inc	2009-08-26 23:32:54 +0000
+++ b/mysql-test/include/commit.inc	2009-09-08 11:25:50 +0000
@@ -409,7 +409,7 @@ flush status;
 --echo # 1. Read-only statement: SELECT
 --echo #
 select * from t1;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(3, 0, 3, 0);
 commit;
 call p_verify_status_increment(1, 0, 1, 0);
 
@@ -538,7 +538,7 @@ begin
   return 2;
 end|
 delimiter ;|
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 
 --echo # 16. A function changes non-trans-table.
 --echo #
@@ -547,9 +547,9 @@ call p_verify_status_increment(0, 0, 0, 
 --echo # the binary log. 
 --echo #
 select f1();
-call p_verify_status_increment(0, 0, 1, 0);
+call p_verify_status_increment(1, 0, 1, 0);
 commit;
-call p_verify_status_increment(0, 0, 1, 0);
+call p_verify_status_increment(1, 0, 1, 0);
 
 --echo # 17. Read-only statement, a function changes non-trans-table.
 --echo #
@@ -558,9 +558,9 @@ call p_verify_status_increment(0, 0, 1, 
 --echo # the binary log. 
 --echo #
 select f1() from t1;
-call p_verify_status_increment(1, 0, 2, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 commit;
-call p_verify_status_increment(1, 0, 2, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 
 --echo # 18. Read-write statement: UPDATE, change 0 (transactional) rows. 
 --echo #
@@ -579,7 +579,7 @@ call p_verify_status_increment(2, 0, 2, 
 drop table t2;
 set sql_mode=no_engine_substitution;
 create temporary table t2 (a int);
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(3, 0, 2, 0);
 set sql_mode=default;
 --echo # 19. A function changes temp-trans-table.
 --echo #
@@ -608,7 +608,7 @@ call p_verify_status_increment(2, 0, 1, 
 --echo #
 alter table t2 add column b int default 5;
 --echo # A commit is done internally by ALTER. 
-call p_verify_status_increment(2, 0, 2, 0);
+call p_verify_status_increment(4, 0, 2, 0);
 commit;
 --echo # There is nothing left to commit
 call p_verify_status_increment(0, 0, 0, 0);
@@ -620,7 +620,7 @@ call p_verify_status_increment(0, 0, 0, 
 --echo # 24. DDL: TRUNCATE TEMPORARY TABLE
 --echo
 truncate table t2;
-call p_verify_status_increment(4, 0, 4, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 commit;
 --echo # There is nothing left to commit
 call p_verify_status_increment(0, 0, 0, 0);
@@ -636,9 +636,9 @@ call p_verify_status_increment(2, 0, 1, 
 --echo # 25. DDL: DROP TEMPORARY TABLE, does not start a transaction
 --echo #
 drop temporary table t2;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(1, 0, 0, 0);
 commit;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(1, 0, 0, 0);
 
 --echo # 26. Verify that SET AUTOCOMMIT issues an implicit commit
 --echo #
@@ -683,7 +683,7 @@ call p_verify_status_increment(1, 0, 1, 
 --echo # 28. Read-write statement: DO
 --echo #
 create table t2 (a int);
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 do (select f1() from t1 where a=2);
 call p_verify_status_increment(2, 2, 2, 2);
 commit;
@@ -723,15 +723,15 @@ call p_verify_status_increment(4, 4, 4, 
 create table t3 select a from t2;
 call p_verify_status_increment(4, 4, 4, 4);
 alter table t3 add column (b int);
-call p_verify_status_increment(2, 0, 2, 0);
+call p_verify_status_increment(4, 0, 4, 0);
 alter table t3 rename t4;
 call p_verify_status_increment(4, 4, 4, 4);
 rename table t4 to t3;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 truncate table t3;
-call p_verify_status_increment(4, 4, 4, 4);
+call p_verify_status_increment(2, 2, 2, 2);
 create view v1 as select * from t2;
-call p_verify_status_increment(2, 0, 2, 0);
+call p_verify_status_increment(4, 0, 4, 0);
 check table t1;
 call p_verify_status_increment(2, 0, 2, 0);
 --echo # Sic: after this bug is fixed, CHECK leaves no pending transaction
@@ -742,7 +742,7 @@ call p_verify_status_increment(6, 0, 6, 
 commit;
 call p_verify_status_increment(0, 0, 0, 0);
 drop view v1;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 
 --echo #
 --echo # Cleanup

=== modified file 'mysql-test/include/locktrans.inc'
--- a/mysql-test/include/locktrans.inc	2009-04-03 17:58:04 +0000
+++ b/mysql-test/include/locktrans.inc	2009-09-08 11:25:50 +0000
@@ -185,7 +185,9 @@ SET @@SQL_MODE= @wl3561_save_sql_mode;
 #
 --echo #
 --echo # View with transactional and non-transactional storage engine.
+--disable_warnings
 CREATE VIEW v1 AS SELECT * FROM t3, t4 WHERE t3.c3 = t4.c4;
+--enable_warnings
 --echo # Request a share lock on the view, which is converted to read locks.
 LOCK TABLE v1 IN SHARE MODE;
 --echo # Show that read locks on the base tables prohibit writing ...
@@ -1081,7 +1083,9 @@ LOCK TABLES t1 WRITE, t2 WRITE;
 SAVEPOINT sp1;
 INSERT INTO t1 VALUES (1);
 SAVEPOINT sp2;
+--disable_warnings
 INSERT INTO t2 VALUES (2);
+--enable_warnings
 ROLLBACK TO SAVEPOINT sp1;
 UNLOCK TABLES;
 

=== modified file 'mysql-test/r/commit_1innodb.result'
--- a/mysql-test/r/commit_1innodb.result	2009-08-26 23:32:54 +0000
+++ b/mysql-test/r/commit_1innodb.result	2009-09-08 11:25:50 +0000
@@ -388,7 +388,7 @@ flush status;
 #
 select * from t1;
 a
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(3, 0, 3, 0);
 SUCCESS
 
 commit;
@@ -566,7 +566,7 @@ begin
 insert t2 set a=2;
 return 2;
 end|
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 SUCCESS
 
 # 16. A function changes non-trans-table.
@@ -578,11 +578,11 @@ SUCCESS
 select f1();
 f1()
 2
-call p_verify_status_increment(0, 0, 1, 0);
+call p_verify_status_increment(1, 0, 1, 0);
 SUCCESS
 
 commit;
-call p_verify_status_increment(0, 0, 1, 0);
+call p_verify_status_increment(1, 0, 1, 0);
 SUCCESS
 
 # 17. Read-only statement, a function changes non-trans-table.
@@ -595,11 +595,11 @@ select f1() from t1;
 f1()
 2
 2
-call p_verify_status_increment(1, 0, 2, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 SUCCESS
 
 commit;
-call p_verify_status_increment(1, 0, 2, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 SUCCESS
 
 # 18. Read-write statement: UPDATE, change 0 (transactional) rows. 
@@ -627,7 +627,7 @@ SUCCESS
 drop table t2;
 set sql_mode=no_engine_substitution;
 create temporary table t2 (a int);
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(3, 0, 2, 0);
 SUCCESS
 
 set sql_mode=default;
@@ -672,7 +672,7 @@ SUCCESS
 #
 alter table t2 add column b int default 5;
 # A commit is done internally by ALTER. 
-call p_verify_status_increment(2, 0, 2, 0);
+call p_verify_status_increment(4, 0, 2, 0);
 SUCCESS
 
 commit;
@@ -686,9 +686,9 @@ SUCCESS
 # 24. DDL: TRUNCATE TEMPORARY TABLE
 
 truncate table t2;
-call p_verify_status_increment(4, 0, 4, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 ERROR
-Expected commit increment: 4 actual: 2
+Expected commit increment: 2 actual: 4
 commit;
 # There is nothing left to commit
 call p_verify_status_increment(0, 0, 0, 0);
@@ -708,11 +708,11 @@ SUCCESS
 # 25. DDL: DROP TEMPORARY TABLE, does not start a transaction
 #
 drop temporary table t2;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(1, 0, 0, 0);
 SUCCESS
 
 commit;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(1, 0, 0, 0);
 SUCCESS
 
 # 26. Verify that SET AUTOCOMMIT issues an implicit commit
@@ -790,7 +790,7 @@ SUCCESS
 # 28. Read-write statement: DO
 #
 create table t2 (a int);
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 SUCCESS
 
 do (select f1() from t1 where a=2);
@@ -837,7 +837,7 @@ call p_verify_status_increment(4, 4, 4, 
 SUCCESS
 
 alter table t3 add column (b int);
-call p_verify_status_increment(2, 0, 2, 0);
+call p_verify_status_increment(4, 0, 4, 0);
 SUCCESS
 
 alter table t3 rename t4;
@@ -845,15 +845,15 @@ call p_verify_status_increment(4, 4, 4, 
 SUCCESS
 
 rename table t4 to t3;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 SUCCESS
 
 truncate table t3;
-call p_verify_status_increment(4, 4, 4, 4);
-SUCCESS
-
+call p_verify_status_increment(2, 2, 2, 2);
+ERROR
+Expected commit increment: 2 actual: 4
 create view v1 as select * from t2;
-call p_verify_status_increment(2, 0, 2, 0);
+call p_verify_status_increment(4, 0, 4, 0);
 SUCCESS
 
 check table t1;
@@ -880,7 +880,7 @@ call p_verify_status_increment(0, 0, 0, 
 SUCCESS
 
 drop view v1;
-call p_verify_status_increment(0, 0, 0, 0);
+call p_verify_status_increment(2, 0, 2, 0);
 SUCCESS
 
 #

=== modified file 'mysql-test/r/ctype_cp932_binlog_row.result'
--- a/mysql-test/r/ctype_cp932_binlog_row.result	2009-05-31 05:44:41 +0000
+++ b/mysql-test/r/ctype_cp932_binlog_row.result	2009-09-08 11:25:50 +0000
@@ -9,10 +9,8 @@ EXECUTE stmt1 USING @var1;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1(f1 blob)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 SELECT HEX(f1) FROM t1;
 HEX(f1)
 8300

=== modified file 'mysql-test/r/mysqlbinlog.result'
--- a/mysql-test/r/mysqlbinlog.result	2009-05-08 17:29:14 +0000
+++ b/mysql-test/r/mysqlbinlog.result	2009-09-08 11:25:50 +0000
@@ -55,6 +55,9 @@ load data LOCAL INFILE 'MYSQLTEST_VARDIR
 SET TIMESTAMP=1000000000/*!*/;
 load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO  table t1
 /*!*/;
+SET TIMESTAMP=1000000000/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO  table t1
+/*!*/;
 DELIMITER ;
 # End of log file
 ROLLBACK /* added by mysqlbinlog */;
@@ -155,6 +158,9 @@ load data LOCAL INFILE 'MYSQLTEST_VARDIR
 SET TIMESTAMP=1000000000/*!*/;
 load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO  table t1
 /*!*/;
+SET TIMESTAMP=1000000000/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO  table t1
+/*!*/;
 DELIMITER ;
 # End of log file
 ROLLBACK /* added by mysqlbinlog */;

=== modified file 'mysql-test/r/mysqlbinlog_row.result'
--- a/mysql-test/r/mysqlbinlog_row.result	2009-06-05 13:21:53 +0000
+++ b/mysql-test/r/mysqlbinlog_row.result	2009-09-08 11:25:50 +0000
@@ -349,11 +349,6 @@ SET @@session.collation_database=DEFAULT
 CREATE TABLE t1 (c01 BIT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -361,16 +356,6 @@ BEGIN
 ### SET
 ###   @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -380,11 +365,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -393,11 +373,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c01 BIT(7))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -405,16 +380,6 @@ BEGIN
 ### SET
 ###   @1=b'0000001' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -422,16 +387,6 @@ BEGIN
 ### SET
 ###   @1=b'0000010' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -439,16 +394,6 @@ BEGIN
 ### SET
 ###   @1=b'0000100' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -456,16 +401,6 @@ BEGIN
 ### SET
 ###   @1=b'0001000' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -473,16 +408,6 @@ BEGIN
 ### SET
 ###   @1=b'0010000' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -490,16 +415,6 @@ BEGIN
 ### SET
 ###   @1=b'0100000' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -507,16 +422,6 @@ BEGIN
 ### SET
 ###   @1=b'1000000' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -524,16 +429,6 @@ BEGIN
 ### SET
 ###   @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -541,16 +436,6 @@ BEGIN
 ### WHERE
 ###   @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -562,11 +447,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -575,11 +455,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (a BIT(20), b CHAR(2))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -590,11 +465,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -603,11 +473,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c02 BIT(64))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -615,16 +480,6 @@ BEGIN
 ### SET
 ###   @1=b'0000000000000000000000000000000000000000000000000000000000000001' /* BIT(64) meta=2048 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -632,16 +487,6 @@ BEGIN
 ### SET
 ###   @1=b'0000000000000000000000000000000000000000000000000000000000000010' /* BIT(64) meta=2048 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -649,16 +494,6 @@ BEGIN
 ### SET
 ###   @1=b'0000000000000000000000000000000000000000000000000000000010000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -668,11 +503,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -681,11 +511,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c03 TINYINT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -699,16 +524,6 @@ BEGIN
 ### SET
 ###   @1=3 /* TINYINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -716,16 +531,6 @@ BEGIN
 ### SET
 ###   @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -735,16 +540,6 @@ BEGIN
 ### SET
 ###   @1=2 /* TINYINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -754,11 +549,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -767,11 +557,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c04 TINYINT UNSIGNED)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -782,16 +567,6 @@ BEGIN
 ### SET
 ###   @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -801,11 +576,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -814,11 +584,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c06 BOOL)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -826,16 +591,6 @@ BEGIN
 ### SET
 ###   @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -845,11 +600,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -858,11 +608,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c07 SMALLINT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -870,16 +615,6 @@ BEGIN
 ### SET
 ###   @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -889,11 +624,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -902,11 +632,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c08 SMALLINT UNSIGNED)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -917,16 +642,6 @@ BEGIN
 ### SET
 ###   @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -936,16 +651,6 @@ BEGIN
 ### SET
 ###   @1=2 /* SHORTINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -955,11 +660,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -968,11 +668,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c10 MEDIUMINT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -980,16 +675,6 @@ BEGIN
 ### SET
 ###   @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -999,11 +684,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1012,11 +692,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c11 MEDIUMINT UNSIGNED)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1027,16 +702,6 @@ BEGIN
 ### SET
 ###   @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -1046,16 +711,6 @@ BEGIN
 ### SET
 ###   @1=2 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1065,11 +720,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1078,11 +728,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c13 INT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1090,16 +735,6 @@ BEGIN
 ### SET
 ###   @1=123456 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1109,11 +744,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1122,11 +752,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c14 INT UNSIGNED)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1137,16 +762,6 @@ BEGIN
 ### SET
 ###   @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -1156,16 +771,6 @@ BEGIN
 ### SET
 ###   @1=2 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1175,11 +780,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1188,11 +788,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c16 BIGINT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1200,16 +795,6 @@ BEGIN
 ### SET
 ###   @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1219,11 +804,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1232,11 +812,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c17 BIGINT UNSIGNED)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1247,16 +822,6 @@ BEGIN
 ### SET
 ###   @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -1266,16 +831,6 @@ BEGIN
 ### SET
 ###   @1=2 /* LONGINT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1285,11 +840,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1298,11 +848,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c19 FLOAT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1310,16 +855,6 @@ BEGIN
 ### SET
 ###   @1=123.223...              /* FLOAT meta=4 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1329,11 +864,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1

 /*!*/;
 # at #
@@ -1342,11 +872,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c22 DOUBLE)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1354,16 +879,6 @@ BEGIN
 ### SET
 ###   @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1373,11 +888,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1386,11 +896,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c25 DECIMAL(10,5))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1398,16 +903,6 @@ BEGIN
 ### SET
 ###   @1=000000124.450000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1415,16 +910,6 @@ BEGIN
 ### SET
 ###   @1=-000000543.210000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1434,11 +919,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1447,11 +927,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c28 DATE)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1459,16 +934,6 @@ BEGIN
 ### SET
 ###   @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1478,11 +943,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1491,11 +951,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c29 DATETIME)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1503,16 +958,6 @@ BEGIN
 ### SET
 ###   @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1522,11 +967,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1535,12 +975,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c30 TIMESTAMP)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-SET @@session.time_zone='SYSTEM'/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1548,16 +982,6 @@ BEGIN
 ### SET
 ###   @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1567,11 +991,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1580,11 +999,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c31 TIME)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1592,16 +1006,6 @@ BEGIN
 ### SET
 ###   @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1611,11 +1015,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1624,11 +1023,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c32 YEAR)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1636,16 +1030,6 @@ BEGIN
 ### SET
 ###   @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1655,11 +1039,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1668,11 +1047,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c33 CHAR)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1680,16 +1054,6 @@ BEGIN
 ### SET
 ###   @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1699,11 +1063,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1712,11 +1071,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c34 CHAR(0))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1724,16 +1078,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1743,11 +1087,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1756,11 +1095,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c35 CHAR(1))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1768,16 +1102,6 @@ BEGIN
 ### SET
 ###   @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1787,11 +1111,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1800,11 +1119,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c36 CHAR(255))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1812,16 +1126,6 @@ BEGIN
 ### SET
 ###   @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1831,11 +1135,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1844,11 +1143,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c37 NATIONAL CHAR)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1856,16 +1150,6 @@ BEGIN
 ### SET
 ###   @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1875,11 +1159,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1888,11 +1167,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c38 NATIONAL CHAR(0))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1900,16 +1174,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1919,11 +1183,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1932,11 +1191,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c39 NATIONAL CHAR(1))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1944,16 +1198,6 @@ BEGIN
 ### SET
 ###   @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -1963,11 +1207,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -1976,11 +1215,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c40 NATIONAL CHAR(255))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -1988,16 +1222,6 @@ BEGIN
 ### SET
 ###   @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* STRING(765) meta=57085 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2005,16 +1229,6 @@ BEGIN
 ### SET
 ###   @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2027,11 +1241,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2040,11 +1249,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c41 CHAR CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2052,16 +1256,6 @@ BEGIN
 ### SET
 ###   @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2071,11 +1265,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2084,11 +1273,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c42 CHAR(0) CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2096,16 +1280,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2115,11 +1289,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2128,11 +1297,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c43 CHAR(1) CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2140,16 +1304,6 @@ BEGIN
 ### SET
 ###   @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2159,11 +1313,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2172,11 +1321,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c44 CHAR(255) CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2184,16 +1328,6 @@ BEGIN
 ### SET
 ###   @1='\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(510) meta=61182 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2201,16 +1335,6 @@ BEGIN
 ### SET
 ###   @1='\x00�x00�x00182 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
@@ -2225,11 +1349,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2238,11 +1357,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c45 VARCHAR(0))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2250,16 +1364,6 @@ BEGIN
 ### SET
 ###   @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2269,11 +1373,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2282,11 +1381,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c46 VARCHAR(1))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2294,16 +1388,6 @@ BEGIN
 ### SET
 ###   @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2313,11 +1397,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2326,11 +1405,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c47 VARCHAR(255))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2338,16 +1412,6 @@ BEGIN
 ### SET
 ###   @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2357,11 +1421,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2370,11 +1429,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c48 VARCHAR(261))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2382,16 +1436,6 @@ BEGIN
 ### SET
 ###   @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2401,11 +1445,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2414,11 +1453,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c49 NATIONAL VARCHAR(0))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2426,16 +1460,6 @@ BEGIN
 ### SET
 ###   @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2445,11 +1469,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2458,11 +1477,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c50 NATIONAL VARCHAR(1))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2470,16 +1484,6 @@ BEGIN
 ### SET
 ###   @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2489,11 +1493,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2502,11 +1501,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c51 NATIONAL VARCHAR(255))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2514,16 +1508,6 @@ BEGIN
 ### SET
 ###   @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2531,16 +1515,6 @@ BEGIN
 ### SET
 ###   @1='ßßßßßßßßßßßßßßßß* VARSTRING(765) meta=765 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2553,11 +1527,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2566,11 +1535,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c52 NATIONAL VARCHAR(261))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2578,16 +1542,6 @@ BEGIN
 ### SET
 ###   @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2595,16 +1549,6 @@ BEGIN
 ### SET
 ###   @1='ßßßßßßßßßßßßßßßßßßßßßßßVARSTRING(783) meta=783 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2617,11 +1561,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2630,11 +1569,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c53 VARCHAR(0) CHARACTER SET ucs2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2642,16 +1576,6 @@ BEGIN
 ### SET
 ###   @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2661,11 +1585,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2674,11 +1593,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c54 VARCHAR(1) CHARACTER SET ucs2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2686,16 +1600,6 @@ BEGIN
 ### SET
 ###   @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2705,11 +1609,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2718,11 +1617,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c55 VARCHAR(255) CHARACTER SET ucs2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2730,16 +1624,6 @@ BEGIN
 ### SET
 ###   @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2749,11 +1633,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2762,11 +1641,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c56 VARCHAR(261) CHARACTER SET ucs2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2774,16 +1648,6 @@ BEGIN
 ### SET
 ###   @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2793,11 +1657,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2806,11 +1665,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c57 BINARY)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2818,16 +1672,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2835,16 +1679,6 @@ BEGIN
 ### SET
 ###   @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2852,16 +1686,6 @@ BEGIN
 ### SET
 ###   @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2871,11 +1695,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2884,11 +1703,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c58 BINARY(0))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2896,16 +1710,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2915,11 +1719,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -2928,11 +1727,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c59 BINARY(1))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2940,16 +1734,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2957,16 +1741,6 @@ BEGIN
 ### SET
 ###   @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2974,16 +1748,6 @@ BEGIN
 ### SET
 ###   @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -2993,11 +1757,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3006,11 +1765,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c60 BINARY(255))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3018,16 +1772,6 @@ BEGIN
 ### SET
 ###   @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3035,16 +1779,6 @@ BEGIN
 ### SET
 ###   @1='\x02' /* STRING(255) meta=65279 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3052,16 +1786,6 @@ BEGIN
 ### SET
 ###   @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(255) meta=65279 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3071,11 +1795,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3084,11 +1803,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c61 VARBINARY(0))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3096,16 +1810,6 @@ BEGIN
 ### SET
 ###   @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3115,11 +1819,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3128,11 +1827,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c62 VARBINARY(1))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3140,16 +1834,6 @@ BEGIN
 ### SET
 ###   @1='\x00' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3157,16 +1841,6 @@ BEGIN
 ### SET
 ###   @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3174,16 +1848,6 @@ BEGIN
 ### SET
 ###   @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3193,11 +1857,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3206,11 +1865,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c63 VARBINARY(255))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3218,16 +1872,6 @@ BEGIN
 ### SET
 ###   @1='\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3235,16 +1879,6 @@ BEGIN
 ### SET
 ###   @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3252,16 +1886,6 @@ BEGIN
 ### SET
 ###   @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3271,11 +1895,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3284,11 +1903,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c65 TINYBLOB)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3296,16 +1910,6 @@ BEGIN
 ### SET
 ###   @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3315,11 +1919,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3328,11 +1927,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c68 BLOB)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3340,16 +1934,6 @@ BEGIN
 ### SET
 ###   @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3359,11 +1943,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3372,11 +1951,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c71 MEDIUMBLOB)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3384,16 +1958,6 @@ BEGIN
 ### SET
 ###   @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3403,11 +1967,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3416,27 +1975,12 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c74 LONGBLOB)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
-#010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
-### INSERT INTO test.t1
-### SET
-###   @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
+#010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
+### INSERT INTO test.t1
+### SET
+###   @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
 # at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
@@ -3447,11 +1991,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3460,11 +1999,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c66 TINYTEXT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3472,16 +2006,6 @@ BEGIN
 ### SET
 ###   @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3491,11 +2015,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3504,11 +2023,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c69 TEXT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3516,16 +2030,6 @@ BEGIN
 ### SET
 ###   @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3535,11 +2039,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3548,11 +2047,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c72 MEDIUMTEXT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3560,16 +2054,6 @@ BEGIN
 ### SET
 ###   @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3579,11 +2063,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3592,11 +2071,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c75 LONGTEXT)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3604,16 +2078,6 @@ BEGIN
 ### SET
 ###   @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3623,11 +2087,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3636,11 +2095,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c67 TINYTEXT CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3648,16 +2102,6 @@ BEGIN
 ### SET
 ###   @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3667,11 +2111,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3680,11 +2119,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c70 TEXT CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3692,16 +2126,6 @@ BEGIN
 ### SET
 ###   @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3711,11 +2135,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3724,11 +2143,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c73 MEDIUMTEXT CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3736,16 +2150,6 @@ BEGIN
 ### SET
 ###   @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3755,11 +2159,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3768,11 +2167,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c76 LONGTEXT CHARACTER SET UCS2)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3780,16 +2174,6 @@ BEGIN
 ### SET
 ###   @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3799,11 +2183,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3812,11 +2191,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c77 ENUM('a','b','c'))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3824,16 +2198,6 @@ BEGIN
 ### SET
 ###   @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3843,11 +2207,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -3856,11 +2215,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t1 (c78 SET('a','b','c','d','e','f'))
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3868,16 +2222,6 @@ BEGIN
 ### SET
 ###   @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3885,16 +2229,6 @@ BEGIN
 ### SET
 ###   @1=b'00000101' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3902,16 +2236,6 @@ BEGIN
 ### SET
 ###   @1=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3919,16 +2243,6 @@ BEGIN
 ### SET
 ###   @1=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3936,16 +2250,6 @@ BEGIN
 ### SET
 ###   @1=b'00001111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3953,16 +2257,6 @@ BEGIN
 ### SET
 ###   @1=b'00011111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3970,16 +2264,6 @@ BEGIN
 ### SET
 ###   @1=b'00111111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3989,11 +2273,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1
 /*!*/;
 # at #
@@ -4007,11 +2286,6 @@ SET TIMESTAMP=1000000000/*!*/;
 CREATE TABLE t2 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0)
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4019,16 +2293,6 @@ BEGIN
 ### SET
 ###   @1=1 /* INT meta=0 nullable=0 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4036,16 +2300,6 @@ BEGIN
 ### SET
 ###   @2=1 /* INT meta=0 nullable=0 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t2` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4053,16 +2307,6 @@ BEGIN
 ### SET
 ###   @1=1 /* INT meta=0 nullable=0 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t2` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4070,16 +2314,6 @@ BEGIN
 ### SET
 ###   @2=1 /* INT meta=0 nullable=0 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 # at #
 # at #
@@ -4118,11 +2352,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 DROP TABLE t1,t2
 /*!*/;
 # at #

=== modified file 'mysql-test/r/mysqlbinlog_row_myisam.result'
--- a/mysql-test/r/mysqlbinlog_row_myisam.result	2009-06-05 13:21:53 +0000
+++ b/mysql-test/r/mysqlbinlog_row_myisam.result	2009-09-08 11:25:50 +0000
@@ -2354,12 +2354,6 @@ crn INT -- row number
 ) ENGINE=MyISAM DEFAULT CHARSET latin1
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-SET @@session.time_zone='SYSTEM'/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2445,16 +2439,6 @@ BEGIN
 ###   @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=1 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -2540,16 +2524,6 @@ BEGIN
 ###   @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=2 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
@@ -2718,16 +2692,6 @@ BEGIN
 ###   @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=4 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -2893,16 +2857,6 @@ BEGIN
 ###   @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=1 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -3068,16 +3022,6 @@ BEGIN
 ###   @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=2 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -3243,16 +3187,6 @@ BEGIN
 ###   @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=3 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -3418,16 +3352,6 @@ BEGIN
 ###   @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
 ###   @79=4 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3513,16 +3437,6 @@ BEGIN
 ###   @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=1 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3608,16 +3522,6 @@ BEGIN
 ###   @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=2 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3703,16 +3607,6 @@ BEGIN
 ###   @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
 ###   @79=3 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -3798,11 +3692,6 @@ BEGIN
 ###   @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */
 ###   @79=4 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
 #010909  4:46:40 server id 1  end_log_pos # 	Rotate to master-bin.000002  pos: 4
 DELIMITER ;
 # End of log file
@@ -3915,11 +3804,6 @@ crn INT -- row number
 ) ENGINE=MyISAM DEFAULT CHARSET latin1
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -3969,16 +3853,6 @@ BEGIN
 ###   @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
 ###   @3=9 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
@@ -4046,16 +3920,6 @@ BEGIN
 ###   @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
 ###   @3=7 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
@@ -4095,11 +3959,6 @@ BEGIN
 ###   @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
 ###   @3=7 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
 #010909  4:46:40 server id 1  end_log_pos # 	Rotate to master-bin.000002  pos: 4
 DELIMITER ;
 # End of log file
@@ -4306,11 +4165,6 @@ c_3_n INT -- row number
 ) ENGINE=MyISAM DEFAULT CHARSET latin1
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4360,16 +4214,6 @@ BEGIN
 ###   @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 ###   @3=19 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t2` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4419,16 +4263,6 @@ BEGIN
 ###   @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 ###   @3=29 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t3` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4478,16 +4312,6 @@ BEGIN
 ###   @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 ###   @3=39 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 # at #
 # at #
@@ -4662,16 +4486,6 @@ BEGIN
 ###   @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 ###   @3=7 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 # at #
 # at #
@@ -4774,11 +4588,6 @@ BEGIN
 ###   @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
 ###   @3=7 /* INT meta=0 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
 #010909  4:46:40 server id 1  end_log_pos # 	Rotate to master-bin.000002  pos: 4
 DELIMITER ;
 # End of log file
@@ -4859,11 +4668,6 @@ c3 VARCHAR(60)
 ) ENGINE=MyISAM DEFAULT CHARSET latin1
 /*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -4883,11 +4687,6 @@ BEGIN
 ###   @2=6 /* INT meta=0 nullable=1 is_null=0 */
 ###   @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-COMMIT
-/*!*/;
-# at #
 #010909  4:46:40 server id 1  end_log_pos # 	Rotate to master-bin.000002  pos: 4
 DELIMITER ;
 # End of log file

=== modified file 'mysql-test/r/mysqlbinlog_row_trans.result'
--- a/mysql-test/r/mysqlbinlog_row_trans.result	2009-08-27 09:32:27 +0000
+++ b/mysql-test/r/mysqlbinlog_row_trans.result	2009-09-08 11:25:50 +0000
@@ -239,60 +239,6 @@ TRUNCATE TABLE t1
 #010909  4:46:40 server id 1  end_log_pos # 	Xid = #
 COMMIT/*!*/;
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
-#010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
-### INSERT INTO test.t1
-### SET
-###   @1=1 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### INSERT INTO test.t1
-### SET
-###   @1=2 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### INSERT INTO test.t1
-### SET
-###   @1=3 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-# at #
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
-#010909  4:46:40 server id 1  end_log_pos # 	Update_rows: table id # flags: STMT_END_F
-### UPDATE test.t1
-### WHERE
-###   @1=1 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### SET
-###   @1=11 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### UPDATE test.t1
-### WHERE
-###   @1=2 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### SET
-###   @1=12 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### UPDATE test.t1
-### WHERE
-###   @1=3 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-### SET
-###   @1=13 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-# at #
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t1` mapped to number #
-#010909  4:46:40 server id 1  end_log_pos # 	Delete_rows: table id # flags: STMT_END_F
-### DELETE FROM test.t1
-### WHERE
-###   @1=12 /* INT meta=0 nullable=1 is_null=0 */
-###   @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
-# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t2` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -342,27 +288,6 @@ BEGIN
 ###   @1=12 /* INT meta=0 nullable=1 is_null=0 */
 ###   @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
 # at #
-#010909  4:46:40 server id 1  end_log_pos # 	Xid = #
-COMMIT/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-BEGIN
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-TRUNCATE TABLE t1
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Xid = #
-COMMIT/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
-TRUNCATE TABLE t2
-/*!*/;
-# at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
 BEGIN
@@ -417,6 +342,27 @@ BEGIN
 ###   @1=12 /* INT meta=0 nullable=1 is_null=0 */
 ###   @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
 # at #
+#010909  4:46:40 server id 1  end_log_pos # 	Xid = #
+COMMIT/*!*/;
+# at #
+#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+BEGIN
+/*!*/;
+# at #
+#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+TRUNCATE TABLE t1
+/*!*/;
+# at #
+#010909  4:46:40 server id 1  end_log_pos # 	Xid = #
+COMMIT/*!*/;
+# at #
+#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
+SET TIMESTAMP=1000000000/*!*/;
+TRUNCATE TABLE t2
+/*!*/;
+# at #
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Table_map: `test`.`t2` mapped to number #
 #010909  4:46:40 server id 1  end_log_pos # 	Write_rows: table id # flags: STMT_END_F
@@ -468,11 +414,6 @@ BEGIN
 # at #
 #010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
 SET TIMESTAMP=1000000000/*!*/;
-ROLLBACK
-/*!*/;
-# at #
-#010909  4:46:40 server id 1  end_log_pos # 	Query	thread_id=#	exec_time=#	error_code=0
-SET TIMESTAMP=1000000000/*!*/;
 BEGIN
 /*!*/;
 # at #

=== modified file 'mysql-test/r/sp_trans_log.result'
--- a/mysql-test/r/sp_trans_log.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/r/sp_trans_log.result	2009-09-08 11:25:50 +0000
@@ -16,11 +16,8 @@ insert into t2 values (bug23333(),1);
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*),@a from t1 /* must be 1,1 */;
 count(*)	@a
 1	1

=== modified file 'mysql-test/suite/binlog/r/binlog_database.result'
--- a/mysql-test/suite/binlog/r/binlog_database.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/binlog/r/binlog_database.result	2009-09-08 11:25:50 +0000
@@ -100,15 +100,11 @@ drop table tt1, t1;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (a int)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	drop database if exists mysqltest1
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t1` /* generated by server */
 FLUSH STATUS;
 show databases;

=== modified file 'mysql-test/suite/binlog/r/binlog_multi_engine.result'
--- a/mysql-test/suite/binlog/r/binlog_multi_engine.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/binlog/r/binlog_multi_engine.result	2009-09-08 11:25:50 +0000
@@ -6,10 +6,14 @@ SET SESSION BINLOG_FORMAT=STATEMENT;
 INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
 INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
 UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 *** Please look in binlog_multi_engine.test if you have a diff here ****
 START TRANSACTION;
 INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
 UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
 COMMIT;
 TRUNCATE t1m;
@@ -53,7 +57,6 @@ mysqld-bin.000001	#	Table_map	#	#	table_
 mysqld-bin.000001	#	Write_rows	#	#	table_id: #
 mysqld-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 mysqld-bin.000001	#	Query	#	#	COMMIT
-mysqld-bin.000001	#	Query	#	#	use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
 mysqld-bin.000001	#	Query	#	#	use `test`; TRUNCATE t1m
 mysqld-bin.000001	#	Query	#	#	use `test`; TRUNCATE t1b
 mysqld-bin.000001	#	Query	#	#	use `test`; TRUNCATE t1n
@@ -68,10 +71,8 @@ UPDATE t1n, t1b SET e = 2, b = 3 WHERE f
 ERROR HY000: Binary logging not possible. Message: Statement cannot be written atomically since more than one engine involved and at least one engine is self-logging
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-mysqld-bin.000001	#	Query	#	#	BEGIN
 mysqld-bin.000001	#	Table_map	#	#	table_id: # (test.t1m)
 mysqld-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-mysqld-bin.000001	#	Query	#	#	COMMIT
 mysqld-bin.000001	#	Query	#	#	BEGIN
 mysqld-bin.000001	#	Table_map	#	#	table_id: # (test.t1b)
 mysqld-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F

=== modified file 'mysql-test/suite/binlog/r/binlog_row_binlog.result'
--- a/mysql-test/suite/binlog/r/binlog_row_binlog.result	2009-07-15 03:44:51 +0000
+++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result	2009-09-08 11:25:50 +0000
@@ -1085,11 +1085,9 @@ show binlog events from 0;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	4	Format_desc	1	107	Server version, Binlog ver: 4
 master-bin.000001	107	Query	1	228	use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
-master-bin.000001	228	Query	1	296	BEGIN
-master-bin.000001	296	Table_map	1	338	table_id: # (test.t1)
-master-bin.000001	338	Write_rows	1	384	table_id: # flags: STMT_END_F
-master-bin.000001	384	Query	1	453	COMMIT
-master-bin.000001	453	Query	1	529	use `test`; drop table t1
+master-bin.000001	228	Table_map	1	270	table_id: # (test.t1)
+master-bin.000001	270	Write_rows	1	316	table_id: # flags: STMT_END_F
+master-bin.000001	316	Query	1	392	use `test`; drop table t1
 reset master;
 CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
 USE bug39182;
@@ -1160,10 +1158,8 @@ use test;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (id tinyint auto_increment primary key)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; drop table t1
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (a int)
 master-bin.000001	#	Query	#	#	BEGIN
@@ -1174,18 +1170,12 @@ master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE IF NOT EXISTS `t3` (
   `a` int(11) DEFAULT NULL
 )
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (mysql.user)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (mysql.user)
 master-bin.000001	#	Update_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (mysql.user)
 master-bin.000001	#	Delete_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 drop table t1,t2,t3,tt1;
 create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
 insert delayed into t1 values (207);
@@ -1195,10 +1185,8 @@ FLUSH TABLES;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (id tinyint auto_increment primary key)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; drop table t1
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (a int)
 master-bin.000001	#	Query	#	#	BEGIN
@@ -1209,32 +1197,20 @@ master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE IF NOT EXISTS `t3` (
   `a` int(11) DEFAULT NULL
 )
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (mysql.user)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (mysql.user)
 master-bin.000001	#	Update_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (mysql.user)
 master-bin.000001	#	Delete_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t1`,`t2`,`t3` /* generated by server */
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; FLUSH TABLES
 insert delayed into t1 values (null),(null),(null),(null);
 insert delayed into t1 values (null),(null),(400),(null);

=== modified file 'mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result'
--- a/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result	2009-05-31 05:44:41 +0000
+++ b/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result	2009-09-08 11:25:50 +0000
@@ -5,29 +5,13 @@ reset master;
 insert into t2 values (@v);
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 flush logs;
 /*!40019 SET @@session.max_insert_delayed_threads=0*/;
 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
 DELIMITER /*!*/;
 ROLLBACK/*!*/;
-SET TIMESTAMP=10000/*!*/;
-SET @@session.pseudo_thread_id=999999999/*!*/;
-SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
-SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-SET @@session.lc_time_names=0/*!*/;
-SET @@session.collation_database=DEFAULT/*!*/;
-BEGIN
-/*!*/;
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
 DELIMITER ;
 # End of log file
 ROLLBACK /* added by mysqlbinlog */;

=== modified file 'mysql-test/suite/binlog/r/binlog_row_drop_tbl.result'
--- a/mysql-test/suite/binlog/r/binlog_row_drop_tbl.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/binlog/r/binlog_row_drop_tbl.result	2009-09-08 11:25:50 +0000
@@ -9,8 +9,6 @@ COMMIT;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1

=== modified file 'mysql-test/suite/binlog/r/binlog_row_insert_select.result'
--- a/mysql-test/suite/binlog/r/binlog_row_insert_select.result	2009-05-31 05:44:41 +0000
+++ b/mysql-test/suite/binlog/r/binlog_row_insert_select.result	2009-09-08 11:25:50 +0000
@@ -8,10 +8,8 @@ insert into t1 select * from t2;
 ERROR 23000: Duplicate entry '2' for key 'a'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 select * from t1;
 a
 1

=== modified file 'mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result'
--- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result	2009-08-26 23:32:54 +0000
+++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result	2009-09-08 11:25:50 +0000
@@ -8,11 +8,11 @@ insert into t2 select * from t1;
 commit;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 delete from t1;
 delete from t2;
@@ -25,12 +25,8 @@ Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 delete from t1;
 delete from t2;
 reset master;
@@ -45,14 +41,14 @@ Warning	1196	Some non-transactional chan
 commit;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	use `test`; savepoint my_savepoint
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	use `test`; rollback to savepoint my_savepoint
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 delete from t1;
@@ -74,14 +70,14 @@ a
 7
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	use `test`; savepoint my_savepoint
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Query	#	#	use `test`; rollback to savepoint my_savepoint
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
@@ -100,12 +96,8 @@ get_lock("a",10)
 1
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 delete from t1;
 delete from t2;
 reset master;
@@ -117,10 +109,8 @@ master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 delete from t1;
 delete from t2;
 reset master;
@@ -133,6 +123,8 @@ master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 insert into t1 values(11);
 commit;
 show binlog events from <binlog_start>;
@@ -141,9 +133,9 @@ master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
+master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
@@ -273,20 +265,14 @@ master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; drop table t1,t2
 master-bin.000001	#	Query	#	#	use `test`; create table t0 (n int)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t0)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t0)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; create table t2 (n int) engine=innodb
 do release_lock("lock1");
 drop table t0,t2;
@@ -369,48 +355,32 @@ a	b
 DROP TABLE t1,t2;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE if exists t2
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE IF EXISTS t2
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Query	#	#	use `test`; TRUNCATE table t2
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t2
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 master-bin.000001	#	Query	#	#	use `test`; TRUNCATE table t2
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t1` /* generated by server */
 reset master;
 create table t1 (a int) engine=innodb;
@@ -426,19 +396,8 @@ get_lock("a",10)
 1
 do release_lock("a");
 flush logs;
-select
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null
-1
-select
-@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
-@a like "%#%error_code=0%ROLLBACK\r\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
-@a not like "%#%error_code=%error_code=%";
-@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
-@a like "%#%error_code=0%ROLLBACK\r\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%"	@a not like "%#%error_code=%error_code=%"
-1	1
+This does not matter in ROW mode as the rolled back changes do not contain transactional changes as these 
+were previously flushed upon committing/rolling back each statement.
 drop table t1, t2;
 create temporary table tt (a int unique);
 create table ti (a int) engine=innodb;
@@ -455,12 +414,6 @@ count(*)
 2
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.ti)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.ti)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from ti /* zero */;
 count(*)
 0
@@ -507,11 +460,9 @@ insert into t2 values (bug27417(2));
 ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* only (!) with fixes for #23333 will show there is the query */;
 select count(*) from t1 /* must be 3 */;
 count(*)
@@ -526,11 +477,9 @@ count(*)
 2
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 /* the query must be in regardless of #23333 */;
 select count(*) from t1 /* must be 5 */;
 count(*)
@@ -552,11 +501,8 @@ insert into t2 values (bug27417(1));
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* the output must denote there is the query */;
 select count(*) from t1 /* must be 1 */;
 count(*)
@@ -569,12 +515,8 @@ insert into t2 select bug27417(1) union 
 ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
-master-bin.000001	#	Write_rows	#	#	table_id: #
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* the output must denote there is the query */;
 select count(*) from t1 /* must be 2 */;
 count(*)
@@ -586,13 +528,11 @@ update t3 set b=b+bug27417(1);
 ERROR 23000: Duplicate entry '4' for key 'b'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t3)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: #
 master-bin.000001	#	Update_rows	#	#	table_id: #
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* the output must denote there is the query */;
 select count(*) from t1 /* must be 2 */;
 count(*)
@@ -606,11 +546,8 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1)
 ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t4)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* the output must denote there is the query */;
 select count(*) from t1 /* must be 4 */;
 count(*)
@@ -639,12 +576,9 @@ delete from t2;
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t3)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* the output must denote there is the query */;
 select count(*) from t1 /* must be 1 */;
 count(*)
@@ -662,13 +596,8 @@ delete t2.* from t2,t5 where t2.a=t5.a +
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
-master-bin.000001	#	Delete_rows	#	#	table_id: #
-master-bin.000001	#	Write_rows	#	#	table_id: #
-master-bin.000001	#	Delete_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 /* the output must denote there is the query */;
 select count(*) from t1 /* must be 1 */;
 count(*)
@@ -687,13 +616,8 @@ count(*)
 2
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t4)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
-master-bin.000001	#	Write_rows	#	#	table_id: #
-master-bin.000001	#	Write_rows	#	#	table_id: #
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 /* the output must denote there is the query */;
 drop trigger trg_del_t2;
 drop table t1,t2,t3,t4,t5;
@@ -714,12 +638,6 @@ count(*)
 2
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.ti)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.ti)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from ti /* zero */;
 count(*)
 0
@@ -803,10 +721,6 @@ insert into t2 values (bug27417(1));
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Intvar	#	#	INSERT_ID=1
-master-bin.000001	#	Query	#	#	use `test`; insert into t2 values (bug27417(1))
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from t1 /* must be 1 */;
 count(*)
 1
@@ -818,10 +732,6 @@ insert into t2 select bug27417(1) union 
 ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Intvar	#	#	INSERT_ID=2
-master-bin.000001	#	Query	#	#	use `test`; insert into t2 select bug27417(1) union select bug27417(2)
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from t1 /* must be 2 */;
 count(*)
 2
@@ -846,10 +756,6 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1)
 ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Intvar	#	#	INSERT_ID=6
-master-bin.000001	#	Query	#	#	use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from t1 /* must be 4 */;
 count(*)
 4
@@ -877,10 +783,6 @@ delete from t2;
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Intvar	#	#	INSERT_ID=9
-master-bin.000001	#	Query	#	#	use `test`; delete from t2
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from t1 /* must be 1 */;
 count(*)
 1
@@ -897,9 +799,6 @@ delete t2.* from t2,t5 where t2.a=t5.a +
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Query	#	#	use `test`; delete t2.* from t2,t5 where t2.a=t5.a + 1
-master-bin.000001	#	Query	#	#	ROLLBACK
 select count(*) from t1 /* must be 1 */;
 count(*)
 1
@@ -917,14 +816,6 @@ count(*)
 2
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Intvar	#	#	INSERT_ID=10
-master-bin.000001	#	User var	#	#	@`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
-master-bin.000001	#	Begin_load_query	#	#	;file_id=#;block_len=#
-master-bin.000001	#	Intvar	#	#	INSERT_ID=10
-master-bin.000001	#	User var	#	#	@`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
-master-bin.000001	#	Execute_load_query	#	#	use `test`; load data infile '../../std_data/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=#
-master-bin.000001	#	Query	#	#	ROLLBACK
 drop trigger trg_del_t2;
 drop table t1,t2,t3,t4,t5;
 drop function bug27417;

=== modified file 'mysql-test/suite/binlog/r/binlog_stm_binlog.result'
--- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result	2009-07-15 11:11:12 +0000
+++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result	2009-09-08 11:25:50 +0000
@@ -698,18 +698,12 @@ master-bin.000001	#	Query	#	#	use `mysql
 master-bin.000001	#	Query	#	#	use `mysql`; DELETE FROM user WHERE host='localhost' AND user='@#@'
 master-bin.000001	#	Query	#	#	use `test`; drop table t1,t2,t3,tt1
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; FLUSH TABLES
 insert delayed into t1 values (null),(null),(null),(null);
 insert delayed into t1 values (null),(null),(400),(null);

=== modified file 'mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result'
--- a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result	2009-08-28 09:58:34 +0000
+++ b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result	2009-09-08 11:25:50 +0000
@@ -5,6 +5,8 @@ reset master;
 begin;
 insert into t1 values(1);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 commit;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
@@ -18,6 +20,8 @@ reset master;
 begin;
 insert into t1 values(2);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 rollback;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -35,6 +39,8 @@ insert into t1 values(3);
 savepoint my_savepoint;
 insert into t1 values(4);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 rollback to savepoint my_savepoint;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -56,6 +62,8 @@ insert into t1 values(5);
 savepoint my_savepoint;
 insert into t1 values(6);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 rollback to savepoint my_savepoint;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -84,6 +92,8 @@ get_lock("a",10)
 begin;
 insert into t1 values(8);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 select get_lock("a",10);
 get_lock("a",10)
 1
@@ -98,6 +108,8 @@ delete from t2;
 reset master;
 insert into t1 values(9);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	BEGIN
@@ -110,6 +122,8 @@ reset master;
 insert into t1 values(10);
 begin;
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	BEGIN
@@ -372,6 +386,8 @@ get_lock("a",10)
 begin;
 insert into t1 values(8);
 insert into t2 select * from t1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 select get_lock("a",10);
 get_lock("a",10)
 1
@@ -398,6 +414,8 @@ begin;
 insert into ti values (1);
 insert into ti values (2) ;
 insert into tt select * from ti;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 rollback;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -415,6 +433,8 @@ select count(*) from ti /* zero */;
 count(*)
 0
 insert into ti select * from tt;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 select * from ti /* that is what slave would miss - a bug */;
 a
 1
@@ -441,6 +461,8 @@ select count(*) from ti /* zero */;
 count(*)
 0
 insert into ti select * from tt;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 select * from tt /* that is what otherwise slave missed - the bug */;
 a
 1
@@ -642,6 +664,8 @@ begin;
 insert into ti values (1);
 insert into ti values (2) ;
 insert into tt select * from ti;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 rollback;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -659,6 +683,8 @@ select count(*) from ti /* zero */;
 count(*)
 0
 insert into ti select * from tt;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 select * from ti /* that is what slave would miss - bug#28960 */;
 a
 1
@@ -685,6 +711,8 @@ select count(*) from ti /* zero */;
 count(*)
 0
 insert into ti select * from tt;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 select * from tt /* that is what otherwise slave missed - the bug */;
 a
 1

=== modified file 'mysql-test/suite/binlog/r/binlog_stm_row.result'
--- a/mysql-test/suite/binlog/r/binlog_stm_row.result	2009-05-31 05:44:41 +0000
+++ b/mysql-test/suite/binlog/r/binlog_stm_row.result	2009-09-08 11:25:50 +0000
@@ -65,10 +65,8 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120)
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 VALUES (3)
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 VALUES (4)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 DROP TABLE t1;
 DROP TABLE t2;
 SET GLOBAL BINLOG_FORMAT = @saved_global_binlog_format;

=== modified file 'mysql-test/suite/binlog/t/binlog_killed_simulate.test'
--- a/mysql-test/suite/binlog/t/binlog_killed_simulate.test	2008-10-29 09:52:46 +0000
+++ b/mysql-test/suite/binlog/t/binlog_killed_simulate.test	2009-09-08 11:25:50 +0000
@@ -1,6 +1,6 @@
 -- source include/have_debug.inc
 -- source include/have_log_bin.inc
--- source include/have_binlog_format_mixed_or_statement.inc
+-- source include/have_binlog_format_statement.inc
 #
 # bug#27571 asynchronous setting mysql_$query()'s local error and 
 #           Query_log_event::error_code
@@ -53,7 +53,7 @@ load data infile '../../std_data/rpl_loa
 
 source include/show_binlog_events.inc;
 
---exec $MYSQL_BINLOG --force-if-open --start-position=107 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
+--exec $MYSQL_BINLOG --force-if-open --start-position=210 --stop-position=387 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
 --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 eval select
 (@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))

=== modified file 'mysql-test/suite/ndb_binlog/r/ndb_binlog_format.result'
--- a/mysql-test/suite/ndb_binlog/r/ndb_binlog_format.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/ndb_binlog/r/ndb_binlog_format.result	2009-09-08 11:25:50 +0000
@@ -7,9 +7,13 @@ SET SESSION BINLOG_FORMAT=STATEMENT;
 INSERT INTO t1 VALUES (1,1), (1,2), (2,1), (2,2);
 INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2);
 UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 START TRANSACTION;
 INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2);
 UPDATE t1, t3 SET m = 2, e = 3 WHERE n = f;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 UPDATE t3, t2 SET e = 2, b = 3 WHERE f = c;
 COMMIT;
 show binlog events from <binlog_start>;

=== modified file 'mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result'
--- a/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result	2009-05-31 05:44:41 +0000
+++ b/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result	2009-09-08 11:25:50 +0000
@@ -67,6 +67,8 @@ before call db1.p1()
 INSERT INTO db1.t2 VALUES ('before call db1.p2()');
 BEGIN;
 CALL db1.p2();
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 INSERT INTO db1.t2 VALUES ('after call db1.p2()');
 SELECT * FROM db1.t1;

=== added file 'mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_mixed.result'
--- a/mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_mixed.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_mixed.result	2009-09-08 11:25:50 +0000
@@ -0,0 +1,129 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
+CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
+CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
+########################################################################################
+#                                   1 - SINGLE STATEMENT
+########################################################################################
+*** Single statement on transactional table ***
+Got one of the listed errors
+*** Single statement on non-transactional table ***
+Got one of the listed errors
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
+*** Single statement on both transactional and non-transactional tables. ***
+Got one of the listed errors
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 2;
+START SLAVE SQL_THREAD;
+source include/diff_master_slave.inc;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+source include/diff_master_slave.inc;
+########################################################################################
+#                                     3 - BEGIN - COMMIT
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+COMMIT;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                      4 - BEGIN - ROLLBACK
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+ROLLBACK;
+Warnings:
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
+source include/diff_master_slave.inc;
+########################################################################################
+#                                         5 - PROCEDURE 
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+CREATE PROCEDURE p1(pd VARCHAR(30000))
+BEGIN
+INSERT INTO t1 (a, data) VALUES (1, pd);
+INSERT INTO t1 (a, data) VALUES (2, pd);
+INSERT INTO t1 (a, data) VALUES (3, pd);
+INSERT INTO t1 (a, data) VALUES (4, pd);
+INSERT INTO t1 (a, data) VALUES (5, 's');
+END//
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+BEGIN;
+Got one of the listed errors
+COMMIT;
+TRUNCATE TABLE t1;
+BEGIN;
+Got one of the listed errors
+ROLLBACK;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                           6 - XID
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+ROLLBACK TO sv;
+Warnings:
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
+COMMIT;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                        7 - NON-TRANS TABLE
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+COMMIT;
+BEGIN;
+Got one of the listed errors
+COMMIT;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                        CLEAN
+########################################################################################
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+Warnings:
+Note	1051	Unknown table 't6'
+DROP PROCEDURE p1;

=== renamed file 'mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result' => 'mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_row.result'
--- a/mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result	2009-06-18 13:52:46 +0000
+++ b/mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_row.result	2009-09-08 11:25:50 +0000
@@ -13,13 +13,14 @@ CREATE TABLE t3(a INT PRIMARY KEY, data 
 *** Single statement on transactional table ***
 Got one of the listed errors
 *** Single statement on non-transactional table ***
-*** After WL#2687 the difference between STATEMENT/MIXED and ROW will not exist. ***
 Got one of the listed errors
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
 *** Single statement on both transactional and non-transactional tables. ***
-*** After WL#2687 we will be able to change the order of the tables. ***
 Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 2;
 START SLAVE SQL_THREAD;
+source include/diff_master_slave.inc;
 TRUNCATE TABLE t1;
 TRUNCATE TABLE t2;
 TRUNCATE TABLE t3;
@@ -34,6 +35,8 @@ Got one of the listed errors
 BEGIN;
 Got one of the listed errors
 Got one of the listed errors
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
 source include/diff_master_slave.inc;
 ########################################################################################
 #                                     3 - BEGIN - COMMIT
@@ -110,12 +113,11 @@ BEGIN;
 Got one of the listed errors
 Got one of the listed errors
 Got one of the listed errors
-Got one of the listed errors
-Got one of the listed errors
 COMMIT;
 BEGIN;
 Got one of the listed errors
 COMMIT;
+source include/diff_master_slave.inc;
 ########################################################################################
 #                                        CLEAN
 ########################################################################################
@@ -123,13 +125,10 @@ DROP TABLE t1;
 DROP TABLE t2;
 DROP TABLE t3;
 DROP TABLE IF EXISTS t4;
+Warnings:
+Note	1051	Unknown table 't4'
 DROP TABLE IF EXISTS t5;
 DROP TABLE IF EXISTS t6;
-DROP PROCEDURE p1;
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
+Warnings:
+Note	1051	Unknown table 't6'
 DROP PROCEDURE p1;

=== added file 'mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_stmt.result'
--- a/mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_stmt.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_binlog_max_cache_size_stmt.result	2009-09-08 11:25:50 +0000
@@ -0,0 +1,152 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
+CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
+CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
+########################################################################################
+#                                   1 - SINGLE STATEMENT
+########################################################################################
+*** Single statement on transactional table ***
+Got one of the listed errors
+*** Single statement on non-transactional table ***
+Got one of the listed errors
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
+*** Single statement on both transactional and non-transactional tables. ***
+Got one of the listed errors
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
+source include/diff_master_slave.inc;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+source include/diff_master_slave.inc;
+########################################################################################
+#                                     3 - BEGIN - COMMIT
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+COMMIT;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                      4 - BEGIN - ROLLBACK
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+ROLLBACK;
+Warnings:
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
+source include/diff_master_slave.inc;
+########################################################################################
+#                                         5 - PROCEDURE 
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+CREATE PROCEDURE p1(pd VARCHAR(30000))
+BEGIN
+INSERT INTO t1 (a, data) VALUES (1, pd);
+INSERT INTO t1 (a, data) VALUES (2, pd);
+INSERT INTO t1 (a, data) VALUES (3, pd);
+INSERT INTO t1 (a, data) VALUES (4, pd);
+INSERT INTO t1 (a, data) VALUES (5, 's');
+END//
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+BEGIN;
+Got one of the listed errors
+COMMIT;
+TRUNCATE TABLE t1;
+BEGIN;
+Got one of the listed errors
+ROLLBACK;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                           6 - XID
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+ROLLBACK TO sv;
+Warnings:
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
+COMMIT;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                        7 - NON-TRANS TABLE
+########################################################################################
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+BEGIN;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Got one of the listed errors
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+COMMIT;
+BEGIN;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
+Got one of the listed errors
+Got one of the listed errors
+COMMIT;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
+START SLAVE SQL_THREAD;
+source include/diff_master_slave.inc;
+########################################################################################
+#                                        CLEAN
+########################################################################################
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+DROP TABLE IF EXISTS t4;
+DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
+Warnings:
+Note	1051	Unknown table 't6'
+DROP PROCEDURE p1;

=== modified file 'mysql-test/suite/rpl/r/rpl_blackhole.result'
--- a/mysql-test/suite/rpl/r/rpl_blackhole.result	2009-01-30 13:44:49 +0000
+++ b/mysql-test/suite/rpl/r/rpl_blackhole.result	2009-09-08 11:25:50 +0000
@@ -40,14 +40,6 @@ SELECT COUNT(*) FROM t1;
 COUNT(*)
 0
 >>> Something was written to binary log <<<
-[on master]
-INSERT INTO t2 SELECT * FROM t1;
-[on slave]
-# Expect 0
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-0
->>> Something was written to binary log <<<
 ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b);
 [on master]
 INSERT INTO t1 VALUES (1,2,1),(2,2,2),(3,2,3),(4,2,4);

=== modified file 'mysql-test/suite/rpl/r/rpl_concurrency_error.result'
--- a/mysql-test/suite/rpl/r/rpl_concurrency_error.result	2009-08-13 16:21:01 +0000
+++ b/mysql-test/suite/rpl/r/rpl_concurrency_error.result	2009-09-08 11:25:50 +0000
@@ -20,12 +20,16 @@ INSERT INTO t VALUES (4,'black'), (2,'re
 SET AUTOCOMMIT = 1;
 BEGIN;
 UPDATE t SET f = 'yellow 2' WHERE i = 3;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 SET AUTOCOMMIT = 1;
 BEGIN;
 UPDATE t SET f = 'magenta 2' WHERE f = 'red';
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 INSERT INTO t VALUES (5 + (2 * 10),"brown");
 INSERT INTO n VALUES (now(),"brown");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ROLLBACK;
 Warnings:
@@ -43,12 +47,16 @@ master-bin.000001	#	Query	#	#	ROLLBACK
 SET AUTOCOMMIT = 1;
 BEGIN;
 UPDATE t SET f = 'gray 2' WHERE i = 3;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 SET AUTOCOMMIT = 1;
 BEGIN;
 UPDATE t SET f = 'dark blue 2' WHERE f = 'red';
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 INSERT INTO t VALUES (6 + (2 * 10),"brown");
 INSERT INTO n VALUES (now(),"brown");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 COMMIT;
 show binlog events from <binlog_start>;
@@ -63,11 +71,15 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 SET AUTOCOMMIT = 0;
 UPDATE t SET f = 'yellow 1' WHERE i = 3;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 SET AUTOCOMMIT = 0;
 UPDATE t SET f = 'magenta 1' WHERE f = 'red';
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 INSERT INTO t VALUES (5 + (1 * 10),"brown");
 INSERT INTO n VALUES (now(),"brown");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ROLLBACK;
 Warnings:
@@ -84,11 +96,15 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	ROLLBACK
 SET AUTOCOMMIT = 0;
 UPDATE t SET f = 'gray 1' WHERE i = 3;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 SET AUTOCOMMIT = 0;
 UPDATE t SET f = 'dark blue 1' WHERE f = 'red';
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 INSERT INTO t VALUES (6 + (1 * 10),"brown");
 INSERT INTO n VALUES (now(),"brown");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 COMMIT;
 show binlog events from <binlog_start>;

=== modified file 'mysql-test/suite/rpl/r/rpl_extraCol_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result	2009-04-08 13:09:37 +0000
+++ b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result	2009-09-08 11:25:50 +0000
@@ -53,47 +53,7 @@ a	b	c
 3	4	QA TESTING
 *** Start Slave ***
 START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 STOP SLAVE;
 RESET SLAVE;
 SELECT * FROM t2 ORDER BY a;
@@ -122,47 +82,7 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TE
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t3  ***
@@ -186,47 +106,7 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle,
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t4  ***
@@ -250,47 +130,7 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t5  ***
@@ -313,47 +153,7 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 *** Drop t6  ***
 DROP TABLE t6;
@@ -451,47 +251,7 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t10  ***
@@ -514,47 +274,7 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t11  ***
@@ -766,47 +486,7 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER 
 ********************************************
 *** Expect slave to fail with Error 1060 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1060
-Last_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1060
-Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1060
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
 START SLAVE;
 *** Try to insert in master ****
@@ -908,47 +588,7 @@ INSERT INTO t17 () VALUES(92233720368547
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 ** DROP table t17 ***

=== modified file 'mysql-test/suite/rpl/r/rpl_extraCol_myisam.result'
--- a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result	2009-04-08 13:09:37 +0000
+++ b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result	2009-09-08 11:25:50 +0000
@@ -53,47 +53,7 @@ a	b	c
 3	4	QA TESTING
 *** Start Slave ***
 START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 STOP SLAVE;
 RESET SLAVE;
 SELECT * FROM t2 ORDER BY a;
@@ -122,47 +82,7 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TE
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t3  ***
@@ -186,47 +106,7 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle,
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t4  ***
@@ -250,47 +130,7 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t5  ***
@@ -313,47 +153,7 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 *** Drop t6  ***
 DROP TABLE t6;
@@ -451,47 +251,7 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t10  ***
@@ -514,47 +274,7 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t11  ***
@@ -766,47 +486,7 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER 
 ********************************************
 *** Expect slave to fail with Error 1060 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1060
-Last_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1060
-Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1060
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
 START SLAVE;
 *** Try to insert in master ****
@@ -908,47 +588,7 @@ INSERT INTO t17 () VALUES(92233720368547
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
-Replicate_Ignore_Server_Ids	
-Master_Server_Id	1
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 ** DROP table t17 ***

=== modified file 'mysql-test/suite/rpl/r/rpl_loaddata.result'
--- a/mysql-test/suite/rpl/r/rpl_loaddata.result	2008-11-13 19:40:36 +0000
+++ b/mysql-test/suite/rpl/r/rpl_loaddata.result	2009-09-08 11:25:50 +0000
@@ -41,7 +41,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	1798
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -89,7 +89,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	1833
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001

=== modified file 'mysql-test/suite/rpl/r/rpl_loaddata_fatal.result'
--- a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result	2008-07-17 19:11:37 +0000
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result	2009-09-08 11:25:50 +0000
@@ -13,7 +13,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	291
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -28,7 +28,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	291
+Exec_Master_Log_Pos	#
 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	
@@ -55,7 +55,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	466
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -70,7 +70,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	1593
 Last_Error	Fatal error: Not enough memory
 Skip_Counter	0
-Exec_Master_Log_Pos	326
+Exec_Master_Log_Pos	#
 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	

=== modified file 'mysql-test/suite/rpl/r/rpl_log_pos.result'
--- a/mysql-test/suite/rpl/r/rpl_log_pos.result	2009-03-18 02:54:46 +0000
+++ b/mysql-test/suite/rpl/r/rpl_log_pos.result	2009-09-08 11:25:50 +0000
@@ -59,7 +59,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	75
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -74,7 +74,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	75
+Exec_Master_Log_Pos	#

 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	

=== added file 'mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result	2009-09-08 11:25:50 +0000
@@ -0,0 +1,129 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+CREATE TABLE t4 (
+id INT(5) unsigned NOT NULL auto_increment,
+name varchar(15) NOT NULL default '',
+number varchar(35) NOT NULL default 'default',
+PRIMARY KEY  (id),
+UNIQUE KEY unique_rec (name,number)
+) ENGINE=InnoDB;
+LOAD DATA
+INFILE '../../std_data/loaddata_pair.dat'  
+REPLACE INTO TABLE t4 
+(name,number);
+SELECT * FROM t4;
+id	name	number
+1	XXX	12345
+2	XXY	12345
+SELECT * FROM t4;
+id	name	number
+1	XXX	12345
+2	XXY	12345
+LOAD DATA
+INFILE '../../std_data/loaddata_pair.dat'  
+REPLACE INTO TABLE t4
+(name,number);
+SELECT * FROM t4;
+id	name	number
+4	XXX	12345
+5	XXY	12345
+SELECT * FROM t4;
+id	name	number
+4	XXX	12345
+5	XXY	12345
+FLUSH LOGS;
+FLUSH LOGS;
+DROP DATABASE IF EXISTS mysqltest1;
+CREATE DATABASE mysqltest1;
+CREATE TEMPORARY TABLE mysqltest1.tmp (f1 BIGINT);
+CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE="InnoDB";
+SET AUTOCOMMIT = 0;
+-------- switch to slave --------
+ALTER TABLE mysqltest1.t1 ENGINE = MyISAM;
+SHOW CREATE TABLE mysqltest1.t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `f1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+-------- switch to master --------
+INSERT INTO mysqltest1.t1 SET f1= 1;
+DROP TEMPORARY TABLE mysqltest1.tmp;
+ROLLBACK;
+SHOW CREATE TABLE mysqltest1.tmp;
+ERROR 42S02: Table 'mysqltest1.tmp' doesn't exist
+SELECT COUNT(*) FROM mysqltest1.t1;
+COUNT(*)
+0
+INSERT INTO mysqltest1.t1 SET f1= 2;
+CREATE TEMPORARY TABLE mysqltest1.tmp2(a INT);
+ROLLBACK;
+SHOW CREATE TABLE mysqltest1.tmp2;
+Table	Create Table
+tmp2	CREATE TEMPORARY TABLE `tmp2` (
+  `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT COUNT(*) FROM mysqltest1.t1;
+COUNT(*)
+0
+-------- switch to slave --------
+SHOW CREATE TABLE mysqltest1.tmp;
+ERROR 42S02: Table 'mysqltest1.tmp' doesn't exist
+SHOW CREATE TABLE mysqltest1.tmp2;
+ERROR 42S02: Table 'mysqltest1.tmp2' doesn't exist
+SELECT COUNT(*) FROM mysqltest1.t1;
+COUNT(*)
+0
+FLUSH LOGS;
+-------- switch to master --------
+FLUSH LOGS;
+DROP DATABASE mysqltest1;
+End of 5.1 tests
+#
+# Bug#39675 rename tables on innodb tables with pending 
+# transactions causes slave data issue.
+#
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+CREATE TABLE t1 (
+id INT PRIMARY KEY auto_increment,
+b INT DEFAULT NULL
+) ENGINE=InnoDB;
+CREATE TABLE t2 (
+id INT PRIMARY KEY auto_increment,
+b INT DEFAULT NULL
+) ENGINE=InnoDB;
+INSERT INTO t1 (b) VALUES (1),(2),(3);
+BEGIN;
+INSERT INTO t1(b) VALUES (4);
+-------- switch to master1 --------
+RENAME TABLE t1 TO t3, t2 TO t1;;
+-------- switch to master --------
+COMMIT;
+-------- switch to master1 --------
+-------- switch to master --------
+SELECT * FROM t1;
+id	b
+SELECT * FROM t3;
+id	b
+1	1
+2	2
+3	3
+4	4
+-------- switch to slave --------
+SELECT * FROM t1;
+id	b
+SELECT * FROM t3;
+id	b
+1	1
+2	2
+3	3
+4	4
+-------- switch to master --------
+DROP TABLE t1;
+DROP TABLE t3;
+End of 6.0 tests

=== modified file 'mysql-test/suite/rpl/r/rpl_packet.result'
--- a/mysql-test/suite/rpl/r/rpl_packet.result	2009-01-26 16:32:29 +0000
+++ b/mysql-test/suite/rpl/r/rpl_packet.result	2009-09-08 11:25:50 +0000
@@ -42,7 +42,7 @@ Slave_IO_Running = No (expect No)
 ***** DEBUG output for bug#41173     ********
 Slave_SQL_Running = Yes (expect YES)
 Last_Error =  (expect Empty)
-positions: master_pos_4_create = 2383, master = 4644, slave_read = 2493, slave_exec = 2383
+positions: master_pos_4_create = 2126, master = 4250, slave_read = 2168, slave_exec = 2126
 ***** DEBUG output for bug#41173 ends ********
 ==== clean up ====
 DROP TABLE t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result'
--- a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result	2009-09-08 11:25:50 +0000
@@ -19,10 +19,8 @@ Log_name	Pos	Event_type	Server_id	End_lo
 master-bin.000001	#	Format_desc	1	#	Server ver: VERSION, Binlog ver: 4
 master-bin.000001	#	Query	1	#	use `test`; CREATE TABLE t1 (a INT, b LONG)
 master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
-master-bin.000001	#	Query	1	#	BEGIN
 master-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	1	#	COMMIT
 **** On Slave ****
 SHOW SLAVE STATUS;
 Slave_IO_State	#
@@ -31,7 +29,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	595
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -46,7 +44,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	595
+Exec_Master_Log_Pos	#
 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	
@@ -70,9 +68,7 @@ Log_name	Pos	Event_type	Server_id	End_lo
 slave-bin.000001	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
 slave-bin.000001	#	Query	1	#	use `test`; CREATE TABLE t1 (a INT, b LONG)
 slave-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
-slave-bin.000001	#	Query	1	#	BEGIN
 slave-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	1	#	COMMIT
 DROP TABLE IF EXISTS t1;
 SET @@global.binlog_format= @old_binlog_format;

=== removed file 'mysql-test/suite/rpl/r/rpl_row_basic_11bugs-master.opt'
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs-master.opt	2007-06-27 12:28:02 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs-master.opt	1970-01-01 00:00:00 +0000
@@ -1 +0,0 @@
---innodb

=== removed file 'mysql-test/suite/rpl/r/rpl_row_basic_11bugs-slave.opt'
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs-slave.opt	2007-06-27 12:28:02 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs-slave.opt	1970-01-01 00:00:00 +0000
@@ -1 +0,0 @@
---innodb

=== modified file 'mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result'
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result	2009-09-08 11:25:50 +0000
@@ -28,10 +28,8 @@ INSERT INTO t2 VALUES (3,3), (4,4);
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT, b INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 **** On Slave ****
 SHOW DATABASES;
 Database
@@ -60,10 +58,8 @@ SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	4	Format_desc	1	107	Server ver: SERVER_VERSION, Binlog ver: 4
 master-bin.000001	107	Query	1	193	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	193	Query	1	261	BEGIN
-master-bin.000001	261	Table_map	1	302	table_id: # (test.t1)
-master-bin.000001	302	Write_rows	1	341	table_id: # flags: STMT_END_F
-master-bin.000001	341	Query	1	410	COMMIT
+master-bin.000001	193	Table_map	1	234	table_id: # (test.t1)
+master-bin.000001	234	Write_rows	1	273	table_id: # flags: STMT_END_F
 DROP TABLE t1;
 ================ Test for BUG#17620 ================
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_conflicts.result'
--- a/mysql-test/suite/rpl/r/rpl_row_conflicts.result	2009-01-09 15:26:52 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_conflicts.result	2009-09-08 11:25:50 +0000
@@ -24,7 +24,7 @@ a
 1
 [on slave]
 ---- Wait until slave stops with an error ----
-Last_SQL_Error = Could not execute Write_rows event on table test.t1; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.000001, end_log_pos 347 (expected "duplicate key" error)
+Last_SQL_Error = Could not execute Write_rows event on table test.t1; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.000001, end_log_pos 279 (expected "duplicate key" error)
 SELECT * FROM t1;
 a
 1
@@ -50,7 +50,7 @@ SELECT * FROM t1;
 a
 [on slave]
 ---- Wait until slave stops with an error ----
-Last_SQL_Error = Could not execute Delete_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos 983 (expected "can't find record" error)
+Last_SQL_Error = Could not execute Delete_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos 504 (expected "can't find record" error)
 SELECT * FROM t1;
 a
 ---- Resolve the conflict on the slave and restart SQL thread ----

=== modified file 'mysql-test/suite/rpl/r/rpl_row_create_table.result'
--- a/mysql-test/suite/rpl/r/rpl_row_create_table.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_create_table.result	2009-09-08 11:25:50 +0000
@@ -150,10 +150,8 @@ a	b
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t7 (a INT, b INT UNIQUE)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t7)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 SELECT * FROM t7 ORDER BY a,b;
 a	b
 1	2
@@ -173,10 +171,8 @@ Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t7)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 SELECT * FROM t7 ORDER BY a,b;
 a	b
 1	2
@@ -299,10 +295,8 @@ a
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE `t2` (
   `a` int(11) DEFAULT NULL
@@ -324,10 +318,8 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t4)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 SHOW TABLES;

 Tables_in_test
 t1
@@ -393,10 +385,8 @@ a
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t2 (a INT) ENGINE=INNODB
 master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
@@ -431,12 +421,6 @@ SELECT * FROM t2 ORDER BY a;
 a
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	ROLLBACK
 SELECT * FROM t2 ORDER BY a;
 a
 DROP TABLE t1,t2;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result'
--- a/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result	2009-02-13 16:30:54 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result	2009-09-08 11:25:50 +0000
@@ -12,16 +12,14 @@ create table t4 (a int);
 insert into t4 select * from t3;
 rename table t1 to t5, t2 to t1;
 flush no_write_to_binlog tables;
-SHOW BINLOG EVENTS FROM 926 ;
+show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	1	#	use `test`; rename table t1 to t5, t2 to t1
 select * from t3;
 a
 flush tables;
-SHOW BINLOG EVENTS FROM 926 ;
+show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	1	#	use `test`; rename table t1 to t5, t2 to t1
-master-bin.000001	#	Query	1	#	use `test`; flush tables
+master-bin.000001	#	Query	#	#	use `test`; flush tables
 select * from t3;
 a
 stop slave;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_insert_delayed.result'
--- a/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result	2007-09-27 14:05:07 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result	2009-09-08 11:25:50 +0000
@@ -22,6 +22,10 @@ COUNT(*)
 5000
 truncate table t1;
 insert delayed into t1 values(10, "my name");
+flush table t1;
+select * from t1;
+id	name
+10	my name
 insert delayed into t1 values(10, "is Bond"), (20, "James Bond");
 flush table t1;
 select * from t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_log.result'
--- a/mysql-test/suite/rpl/r/rpl_row_log.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_log.result	2009-09-08 11:25:50 +0000
@@ -20,26 +20,22 @@ show binlog events;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Format_desc	1	#	Server ver: VERSION, Binlog ver: 4
 master-bin.000001	#	Query	1	#	use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001	#	Query	1	#	BEGIN
 master-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	1	#	COMMIT
 master-bin.000001	#	Query	1	#	use `test`; drop table t1
 master-bin.000001	#	Query	1	#	use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001	#	Query	1	#	BEGIN
 master-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	1	#	COMMIT
 show binlog events from 107 limit 1;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	1	#	use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
 show binlog events from 107 limit 2;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	1	#	use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001	#	Query	1	#	BEGIN
+master-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 show binlog events from 107 limit 2,1;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
+master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 flush logs;
 create table t3 (a int)ENGINE=MyISAM;
 select * from t1 order by 1 asc;
@@ -192,26 +188,20 @@ insert into t2 values (1);
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Query	#	#	use `test`; drop table t1
 master-bin.000001	#	Query	#	#	use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Rotate	#	#	master-bin.000002;pos=4
 show binlog events in 'master-bin.000002';
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000002	#	Format_desc	1	#	Server ver: VERSION, Binlog ver: 4
 master-bin.000002	#	Query	1	#	use `test`; create table t3 (a int)ENGINE=MyISAM
 master-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=MyISAM
-master-bin.000002	#	Query	1	#	BEGIN
 master-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
 master-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-master-bin.000002	#	Query	1	#	COMMIT
 show binary logs;
 Log_name	File_size
 master-bin.000001	#
@@ -224,26 +214,20 @@ show binlog events in 'slave-bin.000001'
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
 slave-bin.000001	#	Query	1	#	use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
-slave-bin.000001	#	Query	1	#	BEGIN
 slave-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	1	#	COMMIT
 slave-bin.000001	#	Query	1	#	use `test`; drop table t1
 slave-bin.000001	#	Query	1	#	use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-slave-bin.000001	#	Query	1	#	BEGIN
 slave-bin.000001	#	Table_map	1	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	1	#	COMMIT
 slave-bin.000001	#	Query	1	#	use `test`; create table t3 (a int)ENGINE=MyISAM
 slave-bin.000001	#	Rotate	2	#	slave-bin.000002;pos=4
 show binlog events in 'slave-bin.000002' from 4;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000002	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
 slave-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=MyISAM
-slave-bin.000002	#	Query	1	#	BEGIN
 slave-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
 slave-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-slave-bin.000002	#	Query	1	#	COMMIT
 SHOW SLAVE STATUS;
 Slave_IO_State	#
 Master_Host	127.0.0.1
@@ -251,7 +235,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	517
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000002
@@ -266,7 +250,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	517
+Exec_Master_Log_Pos	#
 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	
@@ -303,14 +287,10 @@ insert into t1 values (NULL, last_insert
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; create table t1(a int auto_increment primary key, b int)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 select * from t1;
 a	b
 1	1

=== modified file 'mysql-test/suite/rpl/r/rpl_row_log_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result	2009-09-08 11:25:50 +0000
@@ -251,7 +251,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	475
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000002
@@ -266,7 +266,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	475
+Exec_Master_Log_Pos	#
 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	
@@ -303,14 +303,10 @@ insert into t1 values (NULL, last_insert
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; create table t1(a int auto_increment primary key, b int)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 select * from t1;
 a	b
 1	1

=== modified file 'mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result'
--- a/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result	2009-06-12 05:41:25 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result	2009-09-08 11:25:50 +0000
@@ -15,136 +15,90 @@ INSERT INTO t1 VALUES (6);
 show binlog events in 'master-bin.000001' from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 [MASTER] ********* SOW BINLOG EVENTS         *********
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 [MASTER] ********* SOW BINLOG EVENTS ... LIMIT rows  *********
 show binlog events from <binlog_start> limit 3;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 [MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows  *********
-show binlog events from <binlog_start> limit 1,  3;
+show binlog events from <binlog_start> limit 1,  4;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	BEGIN
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 [SLAVE] ********* SOW BINLOG EVENTS IN ...   *********
 show binlog events in 'slave-bin.000001' from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
 [SLAVE] ********* SOW BINLOG EVENTS          *********
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
 [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT rows  *********
 show binlog events from <binlog_start> limit 3;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows  *********
-show binlog events from <binlog_start> limit 1,  3;
+show binlog events from <binlog_start> limit 1,  4;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-slave-bin.000001	#	Query	#	#	BEGIN
+slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
 [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
@@ -153,30 +107,18 @@ Log_name	Pos	Event_type	Server_id	End_lo
 slave-relay-bin.000003	#	Rotate	#	#	master-bin.000001;pos=4
 slave-relay-bin.000003	#	Format_desc	#	#	SERVER_VERSION, BINLOG_VERSION
 slave-relay-bin.000003	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-slave-relay-bin.000003	#	Query	#	#	BEGIN
 slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 slave-relay-bin.000003	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-relay-bin.000003	#	Query	#	#	COMMIT
-slave-relay-bin.000003	#	Query	#	#	BEGIN
 slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 slave-relay-bin.000003	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-relay-bin.000003	#	Query	#	#	COMMIT
-slave-relay-bin.000003	#	Query	#	#	BEGIN
 slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 slave-relay-bin.000003	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-relay-bin.000003	#	Query	#	#	COMMIT
-slave-relay-bin.000003	#	Query	#	#	BEGIN
 slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 slave-relay-bin.000003	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-relay-bin.000003	#	Query	#	#	COMMIT
-slave-relay-bin.000003	#	Query	#	#	BEGIN
 slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 slave-relay-bin.000003	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-relay-bin.000003	#	Query	#	#	COMMIT
-slave-relay-bin.000003	#	Query	#	#	BEGIN
 slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 slave-relay-bin.000003	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-relay-bin.000003	#	Query	#	#	COMMIT
 [SLAVE] ********* SOW RELAYLOG EVENTS        *********
 show relaylog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
@@ -192,7 +134,7 @@ show relaylog events in 'slave-relay-bin
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-relay-bin.000003	#	Format_desc	#	#	SERVER_VERSION, BINLOG_VERSION
 slave-relay-bin.000003	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-slave-relay-bin.000003	#	Query	#	#	BEGIN
+slave-relay-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
 FLUSH LOGS;
 FLUSH LOGS;
 DROP TABLE t1;
@@ -204,30 +146,18 @@ master-bin.000002	#	Query	#	#	use `test`
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 master-bin.000001	#	Rotate	#	#	master-bin.000002;pos=4
 [SLAVE] ********* SOW BINLOG EVENTS IN ...   *********
 show binlog events in 'slave-bin.000002' from <binlog_start>;
@@ -237,30 +167,18 @@ slave-bin.000002	#	Query	#	#	use `test`;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
 slave-bin.000001	#	Rotate	#	#	slave-bin.000002;pos=4
 [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
 show relaylog events in 'slave-relay-bin.000005' from <binlog_start>;

=== modified file 'mysql-test/suite/rpl/r/rpl_slave_skip.result'
--- a/mysql-test/suite/rpl/r/rpl_slave_skip.result	2009-05-31 09:18:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_slave_skip.result	2009-09-08 11:25:50 +0000
@@ -17,20 +17,14 @@ show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT, b INT)
 master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t2 (c INT, d INT)
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
-master-bin.000001	#	Query	#	#	BEGIN
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
 master-bin.000001	#	Update_rows	#	#	table_id: #
 master-bin.000001	#	Update_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Query	#	#	COMMIT
 SELECT * FROM t1;
 a	b
 1	1
@@ -42,7 +36,7 @@ c	d
 2	8
 3	18
 **** On Slave ****
-START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=762;
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=489;
 SHOW SLAVE STATUS;
 Slave_IO_State	#
 Master_Host	127.0.0.1
@@ -50,7 +44,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	1116
+Read_Master_Log_Pos	705
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -65,11 +59,11 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	763
+Exec_Master_Log_Pos	489
 Relay_Log_Space	#
 Until_Condition	Master
 Until_Log_File	master-bin.000001
-Until_Log_Pos	762
+Until_Log_Pos	489
 Master_SSL_Allowed	No
 Master_SSL_CA_File	
 Master_SSL_CA_Path	

=== modified file 'mysql-test/suite/rpl/r/rpl_sp.result'
--- a/mysql-test/suite/rpl/r/rpl_sp.result	2009-07-02 13:48:14 +0000
+++ b/mysql-test/suite/rpl/r/rpl_sp.result	2009-09-08 11:25:50 +0000
@@ -118,6 +118,7 @@ ERROR 23000: Duplicate entry '20' for ke
 show warnings;
 Level	Code	Message
 Error	1062	Duplicate entry '20' for key 'a'
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
 select * from t2;
 a
 20
@@ -267,6 +268,7 @@ end|
 do fn1(100);
 Warnings:
 Error	1062	Duplicate entry '100' for key 'a'
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
 select fn1(20);
 ERROR 23000: Duplicate entry '20' for key 'a'
 select * from t2;

=== renamed file 'mysql-test/suite/rpl/r/rpl_start_stop_slave.result' => 'mysql-test/suite/rpl/r/rpl_start_stop_slave_stmt.result'
--- a/mysql-test/suite/rpl/r/rpl_start_stop_slave.result	2009-04-09 13:05:41 +0000
+++ b/mysql-test/suite/rpl/r/rpl_start_stop_slave_stmt.result	2009-09-08 11:25:50 +0000
@@ -22,6 +22,8 @@ insert into t1i values (5);
 begin;
 insert into t1i values (4);
 insert into t2m values (1);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 insert into t1i values (5);
 commit;
 zero

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result	2009-02-13 16:30:54 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result	2009-09-08 11:25:50 +0000
@@ -12,16 +12,14 @@ create table t4 (a int);
 insert into t4 select * from t3;
 rename table t1 to t5, t2 to t1;
 flush no_write_to_binlog tables;
-SHOW BINLOG EVENTS FROM 685 ;
+show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	1	#	use `test`; rename table t1 to t5, t2 to t1
 select * from t3;
 a
 flush tables;
-SHOW BINLOG EVENTS FROM 685 ;
+show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	1	#	use `test`; rename table t1 to t5, t2 to t1
-master-bin.000001	#	Query	1	#	use `test`; flush tables
+master-bin.000001	#	Query	#	#	use `test`; flush tables
 select * from t3;
 a
 stop slave;

=== renamed file 'mysql-test/suite/rpl/r/rpl_innodb.result' => 'mysql-test/suite/rpl/r/rpl_stm_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_innodb.result	2009-07-02 09:40:40 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_innodb.result	2009-09-08 11:25:50 +0000
@@ -29,12 +29,12 @@ REPLACE INTO TABLE t4
 (name,number);
 SELECT * FROM t4;
 id	name	number
-3	XXX	12345
-4	XXY	12345
+4	XXX	12345
+5	XXY	12345
 SELECT * FROM t4;
 id	name	number
-3	XXX	12345
-4	XXY	12345
+4	XXX	12345
+5	XXY	12345
 FLUSH LOGS;
 FLUSH LOGS;
 DROP DATABASE IF EXISTS mysqltest1;

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result	2007-09-27 14:05:07 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result	2009-09-08 11:25:50 +0000
@@ -22,6 +22,10 @@ COUNT(*)
 5000
 truncate table t1;
 insert delayed into t1 values(10, "my name");
+flush table t1;
+select * from t1;
+id	name
+10	my name
 insert delayed into t1 values(10, "is Bond"), (20, "James Bond");
 ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
 flush table t1;
@@ -88,6 +92,10 @@ COUNT(*)
 5000
 truncate table t1;
 insert delayed into t1 values(10, "my name");
+flush table t1;
+select * from t1;
+id	name
+10	my name
 insert delayed into t1 values(10, "is Bond"), (20, "James Bond");
 flush table t1;
 select * from t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_log.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_log.result	2009-03-16 08:43:05 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_log.result	2009-09-08 11:25:50 +0000
@@ -233,7 +233,7 @@ Master_User	root
 Master_Port	MASTER_PORT
 Connect_Retry	1
 Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	393
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000002
@@ -248,7 +248,7 @@ Replicate_Wild_Ignore_Table	
 Last_Errno	0
 Last_Error	
 Skip_Counter	0
-Exec_Master_Log_Pos	393
+Exec_Master_Log_Pos	#
 Relay_Log_Space	#
 Until_Condition	None
 Until_Log_File	

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result	2009-05-13 11:04:33 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result	2009-09-08 11:25:50 +0000
@@ -38,11 +38,12 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (1)
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (2)
 [MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows  *********
-show binlog events from <binlog_start> limit 1,  3;
+show binlog events from <binlog_start> limit 1,  4;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (1)
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (2)
 master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (3)
+master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (4)
 [SLAVE] ********* SOW BINLOG EVENTS IN ...   *********
 show binlog events in 'slave-bin.000001' from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
@@ -70,11 +71,12 @@ slave-bin.000001	#	Query	#	#	use `test`;
 slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (1)
 slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (2)
 [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows  *********
-show binlog events from <binlog_start> limit 1,  3;
+show binlog events from <binlog_start> limit 1,  4;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (1)
 slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (2)
 slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (3)
+slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (4)
 [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
 show relaylog events in 'slave-relay-bin.000003' from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result	2009-08-27 12:46:29 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result	2009-09-08 11:25:50 +0000
@@ -138,6 +138,8 @@ master-bin.000001	#	Xid	#	#	COMMIT /* XI
 BEGIN;
 INSERT INTO tt_1 VALUES ("new text 6", 6, "new text 6");
 INSERT INTO nt_1 VALUES ("new text 6", 6, "new text 6");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
@@ -161,6 +163,8 @@ COMMIT;
 BEGIN;
 INSERT INTO tt_1 VALUES ("new text -14", -14, "new text -14");
 INSERT INTO nt_1 VALUES ("new text -16", -16, "new text -16");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO nt_1 VALUES ("new text -15", -15, "new text -15"), ("new text -16", -16, "new text -16");
 ERROR 23000: Duplicate entry '-16' for key 'PRIMARY'
 COMMIT;
@@ -185,6 +189,8 @@ master-bin.000001	#	Xid	#	#	COMMIT /* XI
 BEGIN;
 INSERT INTO tt_1 VALUES ("new text 7", 7, "new text 7");
 INSERT INTO nt_1 VALUES ("new text 7", 7, "new text 7");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -212,6 +218,8 @@ Warning	1196	Some non-transactional chan
 BEGIN;
 INSERT INTO tt_1 VALUES ("new text -19", -19, "new text -19");
 INSERT INTO nt_1 VALUES ("new text -21", -21, "new text -21");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO nt_1 VALUES ("new text -20", -20, "new text -20"), ("new text -21", -21, "new text -21");
 ERROR 23000: Duplicate entry '-21' for key 'PRIMARY'
 ROLLBACK;
@@ -296,20 +304,48 @@ master-bin.000001	#	Query	#	#	use `test`
 #
 DELETE FROM nt_1;
 INSERT INTO nt_1 SELECT * FROM tt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 DELETE FROM tt_1;
 INSERT INTO tt_1 SELECT * FROM nt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_3 VALUES ("new text 000", 000, '');
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_3 VALUES("new text 100", 100, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO nt_4 VALUES("new text 100", 100, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_3 VALUES("new text 200", 200, f2());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO nt_4 VALUES ("new text 300", 300, '');
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO nt_4 VALUES ("new text 400", 400, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO nt_4 VALUES ("new text 500", 500, f2());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 CALL pc_i_tt_3(600, "Testing...");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 1", nt_4.a= "new text 1", tt_3.a= "new text 1", tt_4.a= "new text 1" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 2", tt_4.a= "new text 2", nt_3.a= "new text 2", nt_4.a = "new text 2" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 3", nt_3.a= "new text 3", nt_4.a= "new text 3", tt_4.a = "new text 3" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 4", nt_3.a= "new text 4", nt_4.a= "new text 4", tt_4.a = "new text 4" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 show binlog events from <binlog_start>;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 master-bin.000001	#	Query	#	#	use `test`; DELETE FROM nt_1
@@ -533,55 +569,81 @@ master-bin.000001	#	Query	#	#	use `test`
 DELETE FROM nt_1;
 BEGIN;
 INSERT INTO nt_1 SELECT * FROM tt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_2 VALUES ("new text 14", 14, "new text 14");
 COMMIT;
 DELETE FROM tt_1;
 BEGIN;
 INSERT INTO tt_1 SELECT * FROM nt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_2 VALUES ("new text 15", 15, "new text 15");
 COMMIT;
 BEGIN;
 INSERT INTO tt_3 VALUES ("new text 700", 700, '');
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 800", 800, '');
 COMMIT;
 BEGIN;
 INSERT INTO tt_3 VALUES("new text 900", 900, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 1000", 1000, '');
 COMMIT;
 BEGIN;
 INSERT INTO tt_3 VALUES(1100, 1100, f2());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 1200", 1200, '');
 COMMIT;
 BEGIN;
 INSERT INTO nt_4 VALUES ("new text 1300", 1300, '');
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 1400", 1400, '');
 COMMIT;
 BEGIN;
 INSERT INTO nt_4 VALUES("new text 1500", 1500, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 1600", 1600, '');
 COMMIT;
 BEGIN;
 INSERT INTO nt_4 VALUES("new text 1700", 1700, f2());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 1800", 1800, '');
 COMMIT;
 BEGIN;
 CALL pc_i_tt_3(1900, "Testing...");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2000", 2000, '');
 COMMIT;
 BEGIN;
 UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 5", nt_4.a= "new text 5", tt_3.a= "new text 5", tt_4.a= "new text 5" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2100", 2100, '');
 COMMIT;
 BEGIN;
 UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 6", tt_4.a= "new text 6", nt_3.a= "new text 6", nt_4.a = "new text 6" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2200", 2200, '');
 COMMIT;
 BEGIN;
 UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 7", nt_3.a= "new text 7", nt_4.a= "new text 7", tt_4.a = "new text 7" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2300", 2300, '');
 COMMIT;
 BEGIN;
 UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 8", nt_3.a= "new text 8", nt_4.a= "new text 8", tt_4.a = "new text 8" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2400", 2400, '');
 COMMIT;
 show binlog events from <binlog_start>;
@@ -686,6 +748,8 @@ master-bin.000001	#	Xid	#	#	COMMIT /* XI
 DELETE FROM nt_1;
 BEGIN;
 INSERT INTO nt_1 SELECT * FROM tt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_2 VALUES ("new text 17", 17, "new text 17");
 ROLLBACK;
 Warnings:
@@ -693,71 +757,97 @@ Warning	1196	Some non-transactional chan
 DELETE FROM tt_1;
 BEGIN;
 INSERT INTO tt_1 SELECT * FROM nt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_2 VALUES ("new text 18", 18, "new text 18");
 ROLLBACK;
 INSERT INTO tt_1 SELECT * FROM nt_1;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 BEGIN;
 INSERT INTO tt_3 VALUES ("new text 2500", 2500, '');
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2600", 2600, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 INSERT INTO tt_3 VALUES("new text 2700", 2700, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 2800", 2800, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 INSERT INTO tt_3 VALUES(2900, 2900, f2());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3000", 3000, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 INSERT INTO nt_4 VALUES ("new text 3100", 3100, '');
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3200", 3200, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 INSERT INTO nt_4 VALUES("new text 3300", 3300, f1());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3400", 3400, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 INSERT INTO nt_4 VALUES("new text 3500", 3500, f2());
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3600", 3600, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 CALL pc_i_tt_3(3700, "Testing...");
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3700", 3700, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 9", nt_4.a= "new text 9", tt_3.a= "new text 9", tt_4.a= "new text 9" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3800", 3800, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 10", tt_4.a= "new text 10", nt_3.a= "new text 10", nt_4.a = "new text 10" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 3900", 3900, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 11", nt_3.a= "new text 11", nt_4.a= "new text 11", tt_4.a = "new text 11" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 4000", 4000, '');
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 12", nt_3.a= "new text 12", nt_4.a= "new text 12", tt_4.a = "new text 12" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tt_1 VALUES ("new text 4100", 4100, '');
 ROLLBACK;
 Warnings:

=== renamed file 'mysql-test/suite/rpl/r/rpl_stop_middle_group.result' => 'mysql-test/suite/rpl/r/rpl_stop_middle_group_stmt.result'
--- a/mysql-test/suite/rpl/r/rpl_stop_middle_group.result	2009-07-08 12:34:52 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stop_middle_group_stmt.result	2009-09-08 11:25:50 +0000
@@ -10,6 +10,8 @@ set @@global.debug="+d,stop_slave_middle
 begin;
 insert into ti set a=null;
 insert into tm set a=null;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 commit;
 SELECT "NO" AS Last_SQL_Error, @check as `true`;
 Last_SQL_Error	true
@@ -29,6 +31,8 @@ set @@global.debug="+d,incomplete_group_
 begin;
 insert into ti set a=null;
 insert into tm set a=null;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 commit;
 SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
 Last_SQL_Error	true
@@ -46,6 +50,8 @@ include/start_slave.inc
 set @@global.debug="+d,stop_slave_middle_group";
 set @@global.debug="+d,incomplete_group_in_relay_log";
 update tm as t1, ti as t2 set t1.a=t1.a * 2, t2.a=t2.a * 2;
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
 Last_SQL_Error	true
 Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details).	1

=== modified file 'mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result'
--- a/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result	2009-07-26 21:48:24 +0000
+++ b/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result	2009-09-08 11:25:50 +0000
@@ -62,10 +62,8 @@ slave-bin.000001	#	Query	#	#	use `test`;
 slave-bin.000001	#	Query	#	#	use `test`; ALTER TABLE t1_tmp ADD COLUMN b INT
 slave-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t2` /* generated by server */
 slave-bin.000001	#	Query	#	#	use `test`; DROP TEMPORARY TABLE IF EXISTS `t1_tmp` /* generated by server */
-slave-bin.000001	#	Query	#	#	BEGIN
 slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
 slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
 slave-bin.000001	#	Query	#	#	use `test`; DROP TEMPORARY TABLE IF EXISTS `t2_tmp` /* generated by server */
 slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (2)
 slave-bin.000001	#	Query	#	#	use `test`; DROP TABLE t3, t1

=== added file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed-master.opt'
--- a/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed-master.opt	2009-09-08 11:25:50 +0000
@@ -0,0 +1 @@
+--binlog_cache_size=4096 --max_binlog_cache_size=7680

=== added file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed.test'
--- a/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_mixed.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,7 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_binlog_format_mixed.inc
+
+--source extra/rpl_tests/rpl_binlog_max_cache_size.test

=== renamed file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size-master.opt' => 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_row-master.opt'
=== added file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_row.test'
--- a/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_row.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_row.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,7 @@
+--source include/have_innodb.inc

+--source include/master-slave.inc
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_binlog_format_row.inc
+
+--source extra/rpl_tests/rpl_binlog_max_cache_size.test

=== added file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt-master.opt'
--- a/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt-master.opt	2009-09-08 11:25:50 +0000
@@ -0,0 +1 @@
+--binlog_cache_size=4096 --max_binlog_cache_size=7680

=== added file 'mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt.test'
--- a/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_binlog_max_cache_size_stmt.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,7 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_binlog_format_statement.inc
+
+--source extra/rpl_tests/rpl_binlog_max_cache_size.test

=== modified file 'mysql-test/suite/rpl/t/rpl_blackhole.test'
--- a/mysql-test/suite/rpl/t/rpl_blackhole.test	2009-01-30 13:44:49 +0000
+++ b/mysql-test/suite/rpl/t/rpl_blackhole.test	2009-09-08 11:25:50 +0000
@@ -45,9 +45,20 @@ source extra/rpl_tests/rpl_blackhole.tes
 let $statement = INSERT INTO t1 SELECT * FROM t2;
 source extra/rpl_tests/rpl_blackhole.test;
 
+# 
+# The MASTER has MyISAM as the engine for both tables. The SLAVE has Blackhole
+# on t1 (transactional engine) and MyISAM on t2 (non-transactional engine). 
+#
+# In MIXED MODE, the command below is logged as statement on the MASTER. On the
+# other hand, on the SLAVE, it is tagged as unsafe and then executed in ROW
+# MODE. In a nutshell, statements that mixes transactional and non-transactional
+# engines are tagged as unsafe. This behavior generates a problem as no rows are
+# returned and makes the # SLAVE diverge from the MASTER.
+#
 # Test INSERT-SELECT from Blackhole, no primary key
-let $statement = INSERT INTO t2 SELECT * FROM t1;
-source extra/rpl_tests/rpl_blackhole.test;
+#let $statement = INSERT INTO t2 SELECT * FROM t1;
+#source extra/rpl_tests/rpl_blackhole.test;
+#
 
 connection master;
 ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b);

=== modified file 'mysql-test/suite/rpl/t/rpl_invoked_features.test'
--- a/mysql-test/suite/rpl/t/rpl_invoked_features.test	2008-03-05 06:17:41 +0000
+++ b/mysql-test/suite/rpl/t/rpl_invoked_features.test	2009-09-08 11:25:50 +0000
@@ -166,25 +166,19 @@ INSERT INTO t1 VALUES (103,103,'');
 
 # Do some actions for transactional tables
 --echo
+--disable_warnings
 CREATE TABLE t13 SELECT * FROM v11;
 INSERT INTO t11 VALUES (3,3,'');
 UPDATE t11 SET c='2' WHERE a = 1;
---disable_warnings
 INSERT INTO t11 VALUES(4,4,f1(4));
---enable_warnings
 INSERT INTO t11 VALUES (100,100,'');
---disable_warnings
 CALL p11(5, UUID());
---enable_warnings
 INSERT INTO t11 VALUES (101,101,'');
---disable_warnings
 INSERT INTO t11 VALUES(6,6,f1(6));
---enable_warnings
 INSERT INTO t11 VALUES (102,102,'');
---disable_warnings
 INSERT INTO t11 VALUES(7,7,f2(7));
---enable_warnings
 INSERT INTO t11 VALUES (103,103,'');
+--enable_warnings
 
 # Scheduler is on
 --echo
@@ -268,7 +262,9 @@ SELECT a,b FROM v11 ORDER BY a;
 UPDATE t1 SET c='';
 UPDATE t2 SET c='';
 UPDATE t3 SET c='';
+--disable_warnings
 UPDATE t11 SET c='';
+--enable_warnings
 UPDATE t12 SET c='';
 UPDATE t13 SET c='';
 

=== modified file 'mysql-test/suite/rpl/t/rpl_loaddata_fatal.test'
--- a/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test	2008-06-23 21:23:41 +0000
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test	2009-09-08 11:25:50 +0000
@@ -8,7 +8,7 @@ connection master;
 CREATE TABLE t1 (a INT, b INT);
 INSERT INTO t1 VALUES (1,10);
 sync_slave_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
 
 # Now we feed it a load data infile, which should make it stop with a
 # fatal error.
@@ -17,7 +17,7 @@ LOAD DATA INFILE '../../std_data/rpl_loa
 
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
 
 connection slave;
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

=== modified file 'mysql-test/suite/rpl/t/rpl_log_pos.test'
--- a/mysql-test/suite/rpl/t/rpl_log_pos.test	2008-07-10 16:09:39 +0000
+++ b/mysql-test/suite/rpl/t/rpl_log_pos.test	2009-09-08 11:25:50 +0000
@@ -22,7 +22,7 @@ source include/wait_for_slave_sql_to_sta
 source include/wait_for_slave_io_to_stop.inc;
 source include/stop_slave.inc;
 
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
 connection master;
 source include/show_master_status.inc;
 create table if not exists t1 (n int);

=== added file 'mysql-test/suite/rpl/t/rpl_mixed_row_innodb.test'
--- a/mysql-test/suite/rpl/t/rpl_mixed_row_innodb.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_mixed_row_innodb.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,8 @@
+# File for specialities regarding replication from or to InnoDB
+# tables.
+
+source include/master-slave.inc;
+source include/have_innodb.inc;
+source include/have_binlog_format_mixed_or_row.inc;
+
+source extra/rpl_tests/rpl_innodb.test;

=== modified file 'mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test'
--- a/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test	2008-12-13 19:55:44 +0000
+++ b/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test	2009-09-08 11:25:50 +0000
@@ -23,7 +23,7 @@ SHOW BINLOG EVENTS;
 sync_slave_with_master;
 --echo **** On Slave ****
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 23 # 33 # 34 # 35 #
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 34 # 35 #
 --query_vertical SHOW SLAVE STATUS
 --replace_result $VERSION VERSION
 --replace_column 2 # 5 #

=== modified file 'mysql-test/suite/rpl/t/rpl_read_only.test'
--- a/mysql-test/suite/rpl/t/rpl_read_only.test	2009-06-26 14:22:34 +0000
+++ b/mysql-test/suite/rpl/t/rpl_read_only.test	2009-09-08 11:25:50 +0000
@@ -50,14 +50,18 @@ set global read_only=1;
 connection master1;
 -- echo *** On SUPER USER connection ***
 insert into t1 values(1002);
+--disable_warnings
 insert into t2 values(2002);
+--enable_warnings
 
 connection master2;
 -- echo *** On regular USER connection ***
 --error ER_OPTION_PREVENTS_STATEMENT
 insert into t1 values(1003);
+--disable_warnings
 --error ER_OPTION_PREVENTS_STATEMENT
 insert into t2 values(2003);
+--enable_warnings
 
 connection master1;
 ## works even with read_only=1, because master1 is root

=== modified file 'mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test'
--- a/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test	2007-12-12 10:14:59 +0000
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test	2009-09-08 11:25:50 +0000
@@ -1,4 +1,5 @@
 --source include/have_binlog_format_row.inc
+--source include/have_innodb.inc
 
 let $SERVER_VERSION=`select version()`;
 

=== modified file 'mysql-test/suite/rpl/t/rpl_row_until.test'
--- a/mysql-test/suite/rpl/t/rpl_row_until.test	2009-02-19 20:37:38 +0000
+++ b/mysql-test/suite/rpl/t/rpl_row_until.test	2009-09-08 11:25:50 +0000
@@ -11,31 +11,32 @@ let $VERSION=`select version()`;
 connection master;
 CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
 INSERT INTO t1 VALUES (1),(2),(3),(4);
-DROP TABLE t1;
 # Save master log postion for query DROP TABLE t1
-save_master_pos;
-let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
+let $master_pos_drop_t1= query_get_value(SHOW MASTER STATUS, Position, 1);
+DROP TABLE t1;
+#show binlog events;
 
-CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
 # Save master log postion for query CREATE TABLE t2
-save_master_pos;
-let $master_pos_create_t2= query_get_value(SHOW BINLOG EVENTS, Pos, 8);
+let $master_pos_create_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
+CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
+#show binlog events;
 
 INSERT INTO t2 VALUES (1),(2);
-save_master_pos;
 # Save master log postion for query INSERT INTO t2 VALUES (1),(2);
-let $master_pos_insert1_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 12);
+let $master_pos_insert1_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
 sync_slave_with_master;
+#show binlog events;
 
 # Save relay log postion for query INSERT INTO t2 VALUES (1),(2);
-let $relay_pos_insert1_t2= query_get_value(show slave status, Relay_Log_Pos, 1);
+let $relay_pos_insert1_t2= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1);
 
 connection master;
 INSERT INTO t2 VALUES (3),(4);
 DROP TABLE t2;
-# Save master log postion for query INSERT INTO t2 VALUES (1),(2);
-let $master_pos_drop_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 17);
+# Save master log postion for query DROP TABLE t2;
+let $master_pos_drop_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
 sync_slave_with_master;
+#show binlog events;
 
 --source include/stop_slave.inc
 # Reset slave.
@@ -45,6 +46,7 @@ eval CHANGE MASTER TO MASTER_USER='root'
 --enable_query_log
 
 # Try to replicate all queries until drop of t1
+
 connection slave;
 echo START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_drop_t1;
 --disable_query_log

=== modified file 'mysql-test/suite/rpl/t/rpl_slave_skip.test'
--- a/mysql-test/suite/rpl/t/rpl_slave_skip.test	2009-01-26 16:32:29 +0000
+++ b/mysql-test/suite/rpl/t/rpl_slave_skip.test	2009-09-08 11:25:50 +0000
@@ -26,8 +26,8 @@ save_master_pos;
 --echo **** On Slave ****
 connection slave;
 
-# Stop when reaching the the first table map event.
-START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=762;
+# Stop when reaching the the first table map event from the update above.
+START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=489;
 --source include/wait_for_slave_sql_to_stop.inc
 --replace_result $MASTER_MYPORT MASTER_PORT
 --replace_column 1 # 8 # 9 # 23 # 33 # 35 # 36 #


=== renamed file 'mysql-test/suite/rpl/t/rpl_start_stop_slave-slave.opt' => 'mysql-test/suite/rpl/t/rpl_start_stop_slave_stmt-slave.opt'
=== added file 'mysql-test/suite/rpl/t/rpl_start_stop_slave_stmt.test'
--- a/mysql-test/suite/rpl/t/rpl_start_stop_slave_stmt.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_start_stop_slave_stmt.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,5 @@
+source include/have_binlog_format_statement.inc;
+
+source extra/rpl_tests/rpl_start_stop_slave.test;
+
+

=== added file 'mysql-test/suite/rpl/t/rpl_stm_innodb.test'
--- a/mysql-test/suite/rpl/t/rpl_stm_innodb.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_stm_innodb.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,8 @@
+# File for specialities regarding replication from or to InnoDB
+# tables.
+
+source include/master-slave.inc;
+source include/have_innodb.inc;
+source include/have_binlog_format_statement.inc;
+
+source extra/rpl_tests/rpl_innodb.test;

=== added file 'mysql-test/suite/rpl/t/rpl_stop_middle_group_stmt.test'
--- a/mysql-test/suite/rpl/t/rpl_stop_middle_group_stmt.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_stop_middle_group_stmt.test	2009-09-08 11:25:50 +0000
@@ -0,0 +1,4 @@
+-- source include/have_binlog_format_statement.inc
+
+
+-- source extra/rpl_tests/rpl_stop_middle_group.test

=== modified file 'mysql-test/suite/rpl/t/rpl_trigger.test'
--- a/mysql-test/suite/rpl/t/rpl_trigger.test	2009-08-03 15:10:14 +0000
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test	2009-09-08 11:25:50 +0000
@@ -506,7 +506,9 @@ create trigger tr
   for each row insert into log values ( new.f );
 
 set autocommit = 0;
+--disable_warnings
 insert into t1 values ( 1 );
+--enable_warnings
 rollback;
 sync_slave_with_master;
 

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result	2008-11-04 11:30:00 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result	2009-09-08 11:25:50 +0000
@@ -53,45 +53,7 @@ a	b	c
 3	4	QA TESTING
 *** Start Slave ***
 START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+Slave failed with Error 1535
 STOP SLAVE;
 RESET SLAVE;
 SELECT * FROM t2 ORDER BY a;
@@ -120,45 +82,7 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TE
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t3  ***
@@ -182,45 +106,7 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle,
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t4  ***
@@ -244,45 +130,7 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t5  ***
@@ -305,45 +153,7 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 *** Drop t6  ***
 DROP TABLE t6;
@@ -403,7 +213,11 @@ STOP SLAVE;
 RESET SLAVE;
 CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
 d TIMESTAMP,
-e INT NOT NULL) ENGINE='NDB';
+e INT NOT NULL,
+f text not null,
+g text,
+h blob not null,
+i blob) ENGINE='NDB';
 *** Create t9 on Master ***
 CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
 ) ENGINE='NDB';
@@ -414,47 +228,8 @@ START SLAVE;
 set @b1 = 'b1b1b1b1';
 set @b1 = concat(@b1,@b1);
 INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1364
-Last_Error	Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 447
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1364
-Last_SQL_Error	Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 447
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
+select * from t9;
+a	b	c	d	e	f	g	h	i
 *** Create t10 on slave  ***
 STOP SLAVE;
 RESET SLAVE;
@@ -473,45 +248,7 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t10  ***
@@ -534,45 +271,7 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t11  ***
@@ -784,45 +483,7 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER 
 ********************************************
 *** Expect slave to fail with Error 1060 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1060
-Last_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1060
-Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
+Slave failed with Error 1060
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
 START SLAVE;
 *** Try to insert in master ****
@@ -924,45 +585,7 @@ INSERT INTO t17 () VALUES(92233720368547
 ********************************************
 *** Expect slave to fail with Error 1522 ***
 ********************************************
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	#
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1535
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1535
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
+Slave failed with Error 1535
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 ** DROP table t17 ***

=== modified file 'mysql-test/suite/rpl_ndb_big/r/rpl_ndb_mixed_engines_transactions.result'
--- a/mysql-test/suite/rpl_ndb_big/r/rpl_ndb_mixed_engines_transactions.result	2008-10-29 08:45:14 +0000
+++ b/mysql-test/suite/rpl_ndb_big/r/rpl_ndb_mixed_engines_transactions.result	2009-09-08 11:25:50 +0000
@@ -90,6 +90,8 @@ COMMIT;
 BEGIN;
 INSERT INTO tinnodb VALUES (29);
 INSERT INTO tmyisam VALUES (30);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ---- rolled back with BEGIN ----
 BEGIN;
@@ -101,6 +103,8 @@ Warning	1196	Some non-transactional chan
 BEGIN;
 INSERT INTO tinnodb VALUES (33);
 INSERT INTO tmyisam VALUES (34);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -111,6 +115,8 @@ INSERT INTO tinnodb VALUES (36);
 COMMIT;
 INSERT INTO tinnodb VALUES (37);
 INSERT INTO tmyisam VALUES (38);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ---- rolled back with AUTOCOMMIT = 0 ----
 INSERT INTO tmyisam VALUES (39);
@@ -120,6 +126,8 @@ Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 INSERT INTO tinnodb VALUES (41);
 INSERT INTO tmyisam VALUES (42);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -133,6 +141,8 @@ COMMIT;
 BEGIN;
 INSERT INTO tndb VALUES (45);
 INSERT INTO tmyisam VALUES (46);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ---- rolled back with BEGIN ----
 BEGIN;
@@ -144,6 +154,8 @@ Warning	1196	Some non-transactional chan
 BEGIN;
 INSERT INTO tndb VALUES (49);
 INSERT INTO tmyisam VALUES (50);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -154,6 +166,8 @@ INSERT INTO tndb VALUES (52);
 COMMIT;
 INSERT INTO tndb VALUES (53);
 INSERT INTO tmyisam VALUES (54);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ---- rolled back with AUTOCOMMIT = 0 ----
 INSERT INTO tmyisam VALUES (55);
@@ -163,6 +177,8 @@ Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 INSERT INTO tndb VALUES (57);
 INSERT INTO tmyisam VALUES (58);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -217,22 +233,30 @@ COMMIT;
 BEGIN;
 INSERT INTO tinnodb VALUES (81);
 INSERT INTO tmyisam VALUES (82);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tndb VALUES (83);
 COMMIT;
 BEGIN;
 INSERT INTO tinnodb VALUES (84);
 INSERT INTO tndb VALUES (85);
 INSERT INTO tmyisam VALUES (86);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 BEGIN;
 INSERT INTO tndb VALUES (87);
 INSERT INTO tmyisam VALUES (88);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tinnodb VALUES (89);
 COMMIT;
 BEGIN;
 INSERT INTO tndb VALUES (90);
 INSERT INTO tinnodb VALUES (91);
 INSERT INTO tmyisam VALUES (92);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ---- rolled back with BEGIN ----
 BEGIN;
@@ -252,6 +276,8 @@ Warning	1196	Some non-transactional chan
 BEGIN;
 INSERT INTO tinnodb VALUES (99);
 INSERT INTO tmyisam VALUES (100);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tndb VALUES (101);
 ROLLBACK;
 Warnings:
@@ -260,12 +286,16 @@ BEGIN;
 INSERT INTO tinnodb VALUES (102);
 INSERT INTO tndb VALUES (103);
 INSERT INTO tmyisam VALUES (104);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 BEGIN;
 INSERT INTO tndb VALUES (105);
 INSERT INTO tmyisam VALUES (106);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tinnodb VALUES (107);
 ROLLBACK;
 Warnings:
@@ -274,6 +304,8 @@ BEGIN;
 INSERT INTO tndb VALUES (108);
 INSERT INTO tinnodb VALUES (109);
 INSERT INTO tmyisam VALUES (110);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
@@ -289,19 +321,27 @@ INSERT INTO tinnodb VALUES (116);
 COMMIT;
 INSERT INTO tinnodb VALUES (117);
 INSERT INTO tmyisam VALUES (118);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tndb VALUES (119);
 COMMIT;
 INSERT INTO tinnodb VALUES (120);
 INSERT INTO tndb VALUES (121);
 INSERT INTO tmyisam VALUES (122);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 INSERT INTO tndb VALUES (123);
 INSERT INTO tmyisam VALUES (124);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tinnodb VALUES (125);
 COMMIT;
 INSERT INTO tndb VALUES (126);
 INSERT INTO tinnodb VALUES (127);
 INSERT INTO tmyisam VALUES (128);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 COMMIT;
 ---- rolled back with AUTOCOMMIT = 0 ----
 INSERT INTO tmyisam VALUES (129);
@@ -318,6 +358,8 @@ Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 INSERT INTO tinnodb VALUES (135);
 INSERT INTO tmyisam VALUES (136);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tndb VALUES (137);
 ROLLBACK;
 Warnings:
@@ -325,11 +367,15 @@ Warning	1196	Some non-transactional chan
 INSERT INTO tinnodb VALUES (138);
 INSERT INTO tndb VALUES (139);
 INSERT INTO tmyisam VALUES (140);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 INSERT INTO tndb VALUES (141);
 INSERT INTO tmyisam VALUES (142);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 INSERT INTO tinnodb VALUES (143);
 ROLLBACK;
 Warnings:
@@ -337,6 +383,8 @@ Warning	1196	Some non-transactional chan
 INSERT INTO tndb VALUES (144);
 INSERT INTO tinnodb VALUES (145);
 INSERT INTO tmyisam VALUES (146);
+Warnings:
+Note	1592	Statement may not be safe to log in statement format.
 ROLLBACK;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back

=== modified file 'mysql-test/t/mysqlbinlog.test'
--- a/mysql-test/t/mysqlbinlog.test	2009-05-15 13:38:06 +0000
+++ b/mysql-test/t/mysqlbinlog.test	2009-09-08 11:25:50 +0000
@@ -71,7 +71,7 @@ select "--- --position --" as "";
 --enable_query_log
 --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
---exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=240 $MYSQLD_DATADIR/master-bin.000002
+--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=107 $MYSQLD_DATADIR/master-bin.000002
 
 # These are tests for remote binlog.
 # They should return the same as previous test.
@@ -107,7 +107,7 @@ select "--- --position --" as "";
 --enable_query_log
 --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
 --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
---exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=240 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
+--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=107 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
 
 # Bug#7853 mysqlbinlog does not accept input from stdin
 --disable_query_log

=== modified file 'sql/ha_ndbcluster_binlog.cc'
--- a/sql/ha_ndbcluster_binlog.cc	2009-08-31 20:25:11 +0000
+++ b/sql/ha_ndbcluster_binlog.cc	2009-09-08 11:25:50 +0000
@@ -2250,7 +2250,7 @@ static void ndb_binlog_query(THD *thd, C
   thd->binlog_query(THD::STMT_QUERY_TYPE, schema->query,
                     schema->query_length, FALSE,
                     schema->name[0] == 0 || thd->db[0] == 0,
-                    errcode);
+                    FALSE, errcode);
   thd->server_id= thd_server_id_save;
   thd->db= thd_db_save;
 }

=== modified file 'sql/handler.cc'
--- a/sql/handler.cc	2009-08-18 20:05:37 +0000
+++ b/sql/handler.cc	2009-09-08 11:25:50 +0000
@@ -5408,7 +5408,16 @@ static int write_locked_table_maps(THD *
         if (table->current_lock == F_WRLCK &&
             check_table_binlog_row_based(thd, table))
         {
-          int const has_trans= table->file->has_transactions();
+          /*
+            We need to have a transactional behavior for SQLCOM_CREATE_TABLE
+            (e.g. CREATE TABLE... SELECT * FROM TABLE) in order to keep a
+            compatible behavior with the STMT based replication even when
+            the table is not transactional. In other words, if the operation
+            fails while executing the insert phase nothing is written to the
+            binlog.
+          */
+          bool const has_trans= thd->lex->sql_command == SQLCOM_CREATE_TABLE ||
+                                table->file->has_transactions();
           int const error= thd->binlog_write_table_map(table, has_trans);
           /*
             If an error occurs, it is the responsibility of the caller to
@@ -5447,7 +5456,16 @@ static int binlog_log_row(TABLE* table,
     */
     if (likely(!(error= write_locked_table_maps(thd))))
     {
-      bool const has_trans= table->file->has_transactions();
+      /*
+         We need to have a transactional behavior for SQLCOM_CREATE_TABLE
+         (i.e. CREATE TABLE... SELECT * FROM TABLE) in order to keep a
+         compatible behavior with the STMT based replication even when
+         the table is not transactional. In other words, if the operation
+         fails while executing the insert phase nothing is written to the
+         binlog.
+      */
+      bool const has_trans= thd->lex->sql_command == SQLCOM_CREATE_TABLE ||
+                            table->file->has_transactions();
       error= (*log_func)(thd, table, has_trans, before_record, after_record);
     }
   }

=== modified file 'sql/log.cc'
--- a/sql/log.cc	2009-08-31 20:25:11 +0000
+++ b/sql/log.cc	2009-09-08 11:25:50 +0000
@@ -217,83 +217,66 @@ private:
 };
 
 /*
-  Helper class to store binary log transaction data.
+  Helper classes to store non-transactional and transactional data
+  before copying it to the binary log.
 */
-class binlog_trx_data {
+class binlog_cache_data
+{
 public:
-  binlog_trx_data()
-    : at_least_one_stmt(0), incident(FALSE), m_pending(0),
-    before_stmt_pos(MY_OFF_T_UNDEF)
+  binlog_cache_data(): m_pending(0), incident(FALSE)
   {
-    trans_log.end_of_file= max_binlog_cache_size;
+    cache_log.end_of_file= max_binlog_cache_size;
   }
 
-  ~binlog_trx_data()
+  ~binlog_cache_data()
   {
     DBUG_ASSERT(pending() == NULL);
-    close_cached_file(&trans_log);
+    close_cached_file(&cache_log);
   }
 
-  my_off_t position() const {
-    return my_b_tell(&trans_log);
+  bool empty() const
+  {
+    return pending() == NULL && my_b_tell(&cache_log) == 0;
   }
 
-  bool empty() const
+  Rows_log_event *pending() const
   {
-    return pending() == NULL && my_b_tell(&trans_log) == 0;
+    return m_pending;
+  }
+
+  void set_pending(Rows_log_event *const pending)
+  {
+    m_pending= pending;
   }
 
   /*
-    Truncate the transaction cache to a certain position. This
-    includes deleting the pending event.
+    Truncate the cache to a certain position. This includes deleting the
+    pending event.
    */
   void truncate(my_off_t pos)
   {
     DBUG_PRINT("info", ("truncating to position %lu", (ulong) pos));
-    DBUG_PRINT("info", ("before_stmt_pos=%lu", (ulong) pos));
-    delete pending();
-    set_pending(0);
-    reinit_io_cache(&trans_log, WRITE_CACHE, pos, 0, 0);
-    trans_log.end_of_file= max_binlog_cache_size;
-    if (pos < before_stmt_pos)
-      before_stmt_pos= MY_OFF_T_UNDEF;
-
-    /*
-      The only valid positions that can be truncated to are at the
-      beginning of a statement. We are relying on this fact to be able
-      to set the at_least_one_stmt flag correctly. In other word, if
-      we are truncating to the beginning of the transaction cache,
-      there will be no statements in the cache, otherwhise, we will
-      have at least one statement in the transaction cache.
-     */
-    at_least_one_stmt= (pos > 0);
+    if (pending())
+    {
+      delete pending();
+      set_pending(0);
+    }
+    reinit_io_cache(&cache_log, WRITE_CACHE, pos, 0, 0);
+    cache_log.end_of_file= max_binlog_cache_size;
   }
 
   /*
-    Reset the entire contents of the transaction cache, emptying it
-    completely.
+    Reset the entire contents of the cache, emptying it completely.
    */
-  void reset() {
+  void reset() 
+  {
     if (!empty())
       truncate(0);
-    before_stmt_pos= MY_OFF_T_UNDEF;
     incident= FALSE;
-    trans_log.end_of_file= max_binlog_cache_size;
+    cache_log.end_of_file= max_binlog_cache_size;
     DBUG_ASSERT(empty());
   }
 
-  Rows_log_event *pending() const
-  {
-    return m_pending;
-  }
-
-  void set_pending(Rows_log_event *const pending)
-  {
-    m_pending= pending;
-  }
-
-  IO_CACHE trans_log;                         // The transaction cache
-
   void set_incident(void)
   {
     incident= TRUE;
@@ -304,12 +287,10 @@ public:
     return(incident);
   }
 
-  /**
-    Boolean that is true if there is at least one statement in the
-    transaction cache.
+  /*
+    Cache to store data before copying it to the binary log.
   */
-  bool at_least_one_stmt;
-  bool incident;
+  IO_CACHE cache_log;
 
 private:
   /*
@@ -318,11 +299,81 @@ private:
    */
   Rows_log_event *m_pending;
 
+  bool incident;
+ 
+  binlog_cache_data& operator=(const binlog_cache_data& info);
+  binlog_cache_data(const binlog_cache_data& info);
+};
+
+class binlog_cache_mngr {
 public:
+  binlog_cache_mngr()
+    : before_stmt_pos (MY_OFF_T_UNDEF), is_temp_table(FALSE) {}
+
+  my_off_t position() const 
+  {
+    return my_b_tell(&trx_cache.cache_log);
+  }
+
+  bool stmt_temp_table()
+  {
+    return (is_temp_table);
+  }
+
+  void set_stmt_temp_table()
+  {
+    is_temp_table= TRUE;
+  }
+
+  void reset_stmt_cache()
+  {
+    stmt_cache.reset();
+    is_temp_table= FALSE;
+  }
+
+  void reset_trx_cache()
+  {
+    trx_cache.reset();
+    before_stmt_pos= MY_OFF_T_UNDEF;
+    is_temp_table= FALSE;
+  }
+
+  my_off_t get_prv_position()
+  {
+     return(before_stmt_pos);
+  }
+
+  void set_prv_position(my_off_t pos)
+  {
+     before_stmt_pos= pos;
+  }
+  
+  void restore_prv_position()
+  {
+    trx_cache.truncate(before_stmt_pos);
+  }

+
+  void restore_savepoint(my_off_t pos)
+  {
+    trx_cache.truncate(pos);
+    if (pos < before_stmt_pos)
+      before_stmt_pos= MY_OFF_T_UNDEF;
+  }
+
+  binlog_cache_data stmt_cache;
+
+  binlog_cache_data trx_cache;
+
+private:
   /*
     Binlog position before the start of the current statement.
   */
   my_off_t before_stmt_pos;
+  
+  bool is_temp_table;
+
+  binlog_cache_mngr& operator=(const binlog_cache_mngr& info);
+  binlog_cache_mngr(const binlog_cache_mngr& info);
 };
 
 handlerton *binlog_hton;
@@ -1475,26 +1526,6 @@ Log_to_csv_event_handler::purge_backup_l
   return res;
 }
 
-/** 
-    This function checks if a transactional talbe was updated by the
-    current statement.
-
-    @param thd The client thread that executed the current statement.
-    @return
-      @c true if a transactional table was updated, @false otherwise.
-*/
-static bool stmt_has_updated_trans_table(THD *thd)
-{
-  Ha_trx_info *ha_info;
-
-  for (ha_info= thd->transaction.stmt.ha_list; ha_info; ha_info= ha_info->next())
-  {
-    if (ha_info->is_trx_read_write() && ha_info->ht() != binlog_hton)
-      return (TRUE);
-  }
-  return (FALSE);
-}
-
 bool Log_to_csv_event_handler::
   log_error(enum loglevel level, const char *format, va_list args)
 {
@@ -2548,10 +2579,10 @@ binlog_trans_log_savepos(THD *thd, my_of
   DBUG_ASSERT(pos != NULL);
   if (thd_get_ha_data(thd, binlog_hton) == NULL)
     thd->binlog_setup_trx_data();
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
   DBUG_ASSERT(mysql_bin_log.is_open());
-  *pos= trx_data->position();
+  *pos= cache_mngr->position();
   DBUG_PRINT("return", ("*pos: %lu", (ulong) *pos));
   DBUG_VOID_RETURN;
 }
@@ -2582,9 +2613,9 @@ binlog_trans_log_truncate(THD *thd, my_o
   /* Only true if binlog_trans_log_savepos() wasn't called before */
   DBUG_ASSERT(pos != ~(my_off_t) 0);
 
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
-  trx_data->truncate(pos);
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
+  cache_mngr->restore_savepoint(pos);
   DBUG_VOID_RETURN;
 }
 
@@ -2613,30 +2644,30 @@ int binlog_init(void *p)
 
 static int binlog_close_connection(handlerton *hton, THD *thd)
 {
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
-  DBUG_ASSERT(trx_data->empty());
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
+  DBUG_ASSERT(cache_mngr->trx_cache.empty() &&  cache_mngr->stmt_cache.empty());
   thd_set_ha_data(thd, binlog_hton, NULL);
-  trx_data->~binlog_trx_data();
-  my_free((uchar*)trx_data, MYF(0));
+  cache_mngr->~binlog_cache_mngr();
+  my_free((uchar*)cache_mngr, MYF(0));
   return 0;
 }
 
 /*
-  End a transaction.
+  Flushes a transaction.
 
   SYNOPSIS
-    binlog_end_trans()
+    binlog_flush_trx_cache()
 
-    thd      The thread whose transaction should be ended
-    trx_data Pointer to the transaction data to use
+    thd      The thread whose transaction should be flushed
+    cache_mngr Pointer to the cache data to be flushed
     end_ev   The end event to use, or NULL
-    all      True if the entire transaction should be ended, false if
-             only the statement transaction should be ended.
+    all      True if the entire transaction should be flushed, false
+             if only the statement transaction should be ended.
 
   DESCRIPTION
 
-    End the currently open transaction. The transaction can be either
+    Flushes the currently open transaction. The transaction can be either
     a real transaction (if 'all' is true) or a statement transaction
     (if 'all' is false).
 
@@ -2646,85 +2677,94 @@ static int binlog_close_connection(handl
     'all' is false), or reset completely (if 'all' is true).
  */
 static int
-binlog_end_trans(THD *thd, binlog_trx_data *trx_data,
-                 Log_event *end_ev, bool all)
+binlog_flush_trx_cache(THD *thd, binlog_cache_mngr *cache_mngr,
+                       Log_event *end_ev)
 {
-  DBUG_ENTER("binlog_end_trans");
+  DBUG_ENTER("binlog_flush_trx_cache");
   int error=0;
-  IO_CACHE *trans_log= &trx_data->trans_log;
-  DBUG_PRINT("enter", ("transaction: %s  end_ev: %p",
-                       all ? "all" : "stmt", end_ev));
-  DBUG_PRINT("info", ("thd->options={ %s%s}",
-                      FLAGSTR(thd->options, OPTION_NOT_AUTOCOMMIT),
-                      FLAGSTR(thd->options, OPTION_BEGIN)));
+  IO_CACHE *cache_log= &cache_mngr->trx_cache.cache_log;
 
   /*
-    NULL denotes ROLLBACK with nothing to replicate: i.e., rollback of
-    only transactional tables.  If the transaction contain changes to
-    any non-transactiona tables, we need write the transaction and log
-    a ROLLBACK last.
+    This function handles transactional changes and as such
+    this flag equals to true.
   */
-  if (end_ev != NULL)
-  {
-    if (thd->binlog_flush_pending_rows_event(TRUE))
-      DBUG_RETURN(1);
-    /*
-      Doing a commit or a rollback including non-transactional tables,
-      i.e., ending a transaction where we might write the transaction
-      cache to the binary log.
-
-      We can always end the statement when ending a transaction since
-      transactions are not allowed inside stored functions.  If they
-      were, we would have to ensure that we're not ending a statement
-      inside a stored function.
-     */
-    error= mysql_bin_log.write(thd, &trx_data->trans_log, end_ev,
-                               trx_data->has_incident());
-    trx_data->reset();
+  bool const is_transactional= TRUE;
 
-    /*
-      We need to step the table map version after writing the
-      transaction cache to disk.
-    */
-    mysql_bin_log.update_table_map_version();
-    statistic_increment(binlog_cache_use, &LOCK_status);
-    if (trans_log->disk_writes != 0)
-    {
-      statistic_increment(binlog_cache_disk_use, &LOCK_status);
-      trans_log->disk_writes= 0;
-    }
-  }
-  else
+  if (thd->binlog_flush_pending_rows_event(TRUE, is_transactional))
+    DBUG_RETURN(1);
+  /*
+    Doing a commit or a rollback including non-transactional tables,
+    i.e., ending a transaction where we might write the transaction
+    cache to the binary log.
+
+    We can always end the statement when ending a transaction since
+    transactions are not allowed inside stored functions.  If they
+    were, we would have to ensure that we're not ending a statement
+    inside a stored function.
+  */
+  error= mysql_bin_log.write(thd, &cache_mngr->trx_cache.cache_log, end_ev,
+                             cache_mngr->trx_cache.has_incident(),
+                             is_transactional);
+  cache_mngr->reset_trx_cache();
+
+  /*
+    We need to step the table map version after writing the
+    transaction cache to disk.
+  */
+  mysql_bin_log.update_table_map_version();
+  statistic_increment(binlog_cache_use, &LOCK_status);
+  if (cache_log->disk_writes != 0)
   {
-    /*
-      If rolling back an entire transaction or a single statement not
-      inside a transaction, we reset the transaction cache.
+    statistic_increment(binlog_cache_disk_use, &LOCK_status);
+    cache_log->disk_writes= 0;
+  }
 
-      If rolling back a statement in a transaction, we truncate the
-      transaction cache to remove the statement.
-     */
-    thd->binlog_remove_pending_rows_event(TRUE);
-    if (all || !thd->in_multi_stmt_transaction())
-    {
-      if (trx_data->has_incident())
-        mysql_bin_log.write_incident(thd, TRUE);
-      trx_data->reset();
+  DBUG_ASSERT(cache_mngr->trx_cache.empty());
+  DBUG_RETURN(error);
+}
 
-      DBUG_ASSERT(!thd->binlog_get_pending_rows_event());
-      thd->clear_binlog_table_maps();
-    }
-    else                                        // ...statement
-      trx_data->truncate(trx_data->before_stmt_pos);
+static int
+binlog_truncate_trx_cache(THD *thd, binlog_cache_mngr *cache_mngr, bool all)
+{
+  DBUG_ENTER("binlog_truncate_trx_cache");
+  int error=0;
+  /*
+    This function handles transactional changes and as such
+    this flag equals to true.
+  */
+  bool const is_transactional= TRUE;
 
-    /*
-      We need to step the table map version on a rollback to ensure
-      that a new table map event is generated instead of the one that
-      was written to the thrown-away transaction cache.
-    */
-    mysql_bin_log.update_table_map_version();
+  DBUG_PRINT("info", ("thd->options={ %s%s}, transaction: %s",
+                      FLAGSTR(thd->options, OPTION_NOT_AUTOCOMMIT),
+                      FLAGSTR(thd->options, OPTION_BEGIN),
+                      all ? "all" : "stmt"));
+  /*
+    If rolling back an entire transaction or a single statement not
+    inside a transaction, we reset the transaction cache.
+
+    If rolling back a statement in a transaction, we truncate the
+    transaction cache to remove the statement.
+  */
+  thd->binlog_remove_pending_rows_event(TRUE, is_transactional);
+  if (all || !thd->in_multi_stmt_transaction())
+  {
+    if (cache_mngr->trx_cache.has_incident())
+      error= mysql_bin_log.write_incident(thd, TRUE);
+
+    cache_mngr->reset_trx_cache();
+    thd->clear_binlog_table_maps();
   }
+  else
+      cache_mngr->restore_prv_position();
 
-  DBUG_ASSERT(thd->binlog_get_pending_rows_event() == NULL);
+  /*
+    We need to step the table map version on a rollback to ensure
+    that a new table map event is generated instead of the one that
+    was written to the thrown-away transaction cache.
+  */
+  mysql_bin_log.update_table_map_version();
+
+  DBUG_ASSERT(thd->binlog_get_pending_rows_event(is_transactional) == NULL);
   DBUG_RETURN(error);
 }
 
@@ -2739,11 +2779,48 @@ static int binlog_prepare(handlerton *ht
   return 0;
 }
 
+static int
+binlog_flush_stmt_cache(THD *thd, binlog_cache_mngr *cache_mngr)
+{
+  int error= 0;
+  DBUG_ENTER("binlog_flush_stmt_cache");
+  /*
+    If we are flushing the statement cache, it means that
+    the changes get through otherwise the cache is empty
+    and this routine should not be called.
+  */
+  DBUG_ASSERT(cache_mngr->stmt_cache.has_incident() == FALSE);
+  /*
+    This function handles non-transactional changes and as such
+    this flag equals to false.
+  */
+  bool const is_transactional= FALSE;
+  IO_CACHE *cache_log= &cache_mngr->stmt_cache.cache_log;
+  thd->binlog_flush_pending_rows_event(TRUE, is_transactional);
+  if ((error= mysql_bin_log.write(thd, cache_log, 0,
+                                  cache_mngr->stmt_cache.has_incident(),
+                                  is_transactional)))
+    DBUG_RETURN(error);
+  cache_mngr->reset_stmt_cache();
+
+  /*
+    We need to step the table map version after writing the
+    transaction cache to disk.
+  */
+  mysql_bin_log.update_table_map_version();
+  statistic_increment(binlog_cache_use, &LOCK_status);
+  if (cache_log->disk_writes != 0)
+  {
+    statistic_increment(binlog_cache_disk_use, &LOCK_status);
+    cache_log->disk_writes= 0;
+  }
+  DBUG_RETURN(error);
+}
+
 /**
   This function is called once after each statement.
 
-  It has the responsibility to flush the transaction cache to the
-  binlog file on commits.
+  It has the responsibility to flush the caches to the binlog file on commits.
 
   @param hton  The binlog handlerton.
   @param thd   The client thread that executes the transaction.
@@ -2756,59 +2833,61 @@ static int binlog_commit(handlerton *hto
 {
   int error= 0;
   DBUG_ENTER("binlog_commit");
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
 
-  if (trx_data->empty())
-  {
-    // we're here because trans_log was flushed in MYSQL_BIN_LOG::log_xid()
-    trx_data->reset();
-    DBUG_RETURN(0);
-  }
-
-  /*
-    We commit the transaction if:
-
-     - We are not in a transaction and committing a statement, or
-
-     - We are in a transaction and a full transaction is committed
-
-    Otherwise, we accumulate the statement
-  */
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
   bool const in_transaction= thd->in_multi_stmt_transaction();
+
   DBUG_PRINT("debug",
-             ("all: %d, empty: %s, in_transaction: %s, all.modified_non_trans_table: %s, stmt.modified_non_trans_table: %s",
+             ("all: %d, in_transaction: %s, all.modified_non_trans_table: %s, stmt.modified_non_trans_table: %s",
               all,
-              YESNO(trx_data->empty()),
               YESNO(in_transaction),
               YESNO(thd->transaction.all.modified_non_trans_table),
               YESNO(thd->transaction.stmt.modified_non_trans_table)));
-  if (thd->options & OPTION_BIN_LOG)
+
+  //if (thd->options & OPTION_BIN_LOG)
   {
+    if (!cache_mngr->stmt_cache.empty())
+    {
+      binlog_flush_stmt_cache(thd, cache_mngr);
+    }
+
+    if (cache_mngr->trx_cache.empty())
+    {

+      /* 
+        we're here because cache_log was flushed in MYSQL_BIN_LOG::log_xid()
+      */
+      cache_mngr->reset_trx_cache();
+      DBUG_RETURN(0);
+    }
+
+    /*
+      We commit the transaction if:
+       - We are not in a transaction and committing a statement, or
+       - We are in a transaction and a full transaction is committed
+      Otherwise, we accumulate the statement
+    */
     if (!in_transaction || all)
     {
       Query_log_event qev(thd, STRING_WITH_LEN("COMMIT"), TRUE, TRUE, 0);
-      error= binlog_end_trans(thd, trx_data, &qev, all);
-      goto end;
+      error= binlog_flush_trx_cache(thd, cache_mngr, &qev);
     }
   }
-  else
-  {
-    trx_data->reset();
-  }
-end:
+  //else
+  //{
+  //  cache_mngr->reset_stmt_cache();
+  //  cache_mngr->reset_trx_cache();
+  //}
+
   if (!all)
-    trx_data->before_stmt_pos = MY_OFF_T_UNDEF; // part of the stmt commit
+    cache_mngr->set_prv_position(MY_OFF_T_UNDEF); // part of the stmt commit
   DBUG_RETURN(error);
 }
 
 /**
-  This function is called when a transaction involving a transactional
-  table is rolled back.
+  This function is called when a transaction or a statement is rolled back.
 
-  It has the responsibility to flush the transaction cache to the
-  binlog file. However, if the transaction does not involve
-  non-transactional tables, nothing needs to be logged.
+  It has the responsibility to flush the caches to the binlog file.
 
   @param hton  The binlog handlerton.
   @param thd   The client thread that executes the transaction.
@@ -2821,18 +2900,34 @@ static int binlog_rollback(handlerton *h
 {
   DBUG_ENTER("binlog_rollback");
   int error=0;
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
-
-  if (trx_data->empty()) {
-    trx_data->reset();
-    DBUG_RETURN(0);
-  }
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
 
   DBUG_PRINT("debug", ("all: %s, all.modified_non_trans_table: %s, stmt.modified_non_trans_table: %s",
                        YESNO(all),
                        YESNO(thd->transaction.all.modified_non_trans_table),
                        YESNO(thd->transaction.stmt.modified_non_trans_table)));
+
+  if (cache_mngr->stmt_cache.has_incident())
+  {
+    mysql_bin_log.write_incident(thd, TRUE);
+    cache_mngr->reset_stmt_cache();
+  }
+  else if (!cache_mngr->stmt_cache.empty())
+  {
+    binlog_flush_stmt_cache(thd, cache_mngr);
+  }
+
+  if (cache_mngr->trx_cache.empty()) 
+  {
+    /* 
+      we're here because cache_log was flushed in MYSQL_BIN_LOG::log_xid()
+    */
+    cache_mngr->reset_trx_cache();
+    DBUG_RETURN(0);
+  }
+
+
   if (mysql_bin_log.check_write_error(thd))
   {
     /*
@@ -2843,49 +2938,43 @@ static int binlog_rollback(handlerton *h
     */
     DBUG_ASSERT(!all);
     /*
-      We reach this point if either only transactional tables were modified or
-      the effect of a statement that did not get into the binlog needs to be
-      rolled back. In the latter case, if a statement changed non-transactional
-      tables or had the OPTION_KEEP_LOG associated, we write an incident event
-      to the binlog in order to stop slaves and notify users that some changes
-      on the master did not get into the binlog and slaves will be inconsistent.
-      On the other hand, if a statement is transactional, we just safely roll it
-      back.
+      We reach this point if the effect of a statement did not properly get into
+      a cache and need to be rolled back.
     */
-    if ((thd->transaction.stmt.modified_non_trans_table ||
-        (thd->options & OPTION_KEEP_LOG)) &&
-        mysql_bin_log.check_write_error(thd))
-      trx_data->set_incident();
-    error= binlog_end_trans(thd, trx_data, 0, all);
+    error= binlog_truncate_trx_cache(thd, cache_mngr, all);
   }
   else
-  {
-   /*
-      We flush the cache with a rollback, wrapped in a beging/rollback if:
+  {  
+    /*
+      We flush the cache wrapped in a beging/rollback if:
         . aborting a transcation that modified a non-transactional table or;
         . aborting a statement that modified both transactional and
-          non-transctional tables but which is not in the boundaries of any
-          transaction;
+         non-transctional tables but which is not in the boundaries of any
+         transaction;
         . the OPTION_KEEP_LOG is activate.
     */
-    if ((all && thd->transaction.all.modified_non_trans_table) ||
+    if (thd->variables.binlog_format == BINLOG_FORMAT_STMT &&
+        ((all && thd->transaction.all.modified_non_trans_table) ||
         (!all && thd->transaction.stmt.modified_non_trans_table &&
-         !(thd->options & (OPTION_BEGIN | OPTION_NOT_AUTOCOMMIT))) ||
-        ((thd->options & OPTION_KEEP_LOG)))
+        !thd->in_multi_stmt_transaction()) ||
+        (thd->options & OPTION_KEEP_LOG)))
     {
       Query_log_event qev(thd, STRING_WITH_LEN("ROLLBACK"), TRUE, TRUE, 0);
-      error= binlog_end_trans(thd, trx_data, &qev, all);
+      error= binlog_flush_trx_cache(thd, cache_mngr, &qev);
     }
     /*
       Otherwise, we simply truncate the cache as there is no change on
       non-transactional tables as follows.
     */
-    else if ((all && !thd->transaction.all.modified_non_trans_table) ||
-          (!all && !thd->transaction.stmt.modified_non_trans_table))
-      error= binlog_end_trans(thd, trx_data, 0, all);
+    else if (all || (!all &&
+                     (!thd->transaction.stmt.modified_non_trans_table ||
+                      !thd->in_multi_stmt_transaction() || 
+                      thd->variables.binlog_format != BINLOG_FORMAT_STMT)))
+      error= binlog_truncate_trx_cache(thd, cache_mngr, all);
   }
+
   if (!all)
-    trx_data->before_stmt_pos = MY_OFF_T_UNDEF; // part of the stmt rollback
+    cache_mngr->set_prv_position(MY_OFF_T_UNDEF); // part of the stmt rollback
   DBUG_RETURN(error);
 }
 
@@ -2961,7 +3050,8 @@ static int binlog_savepoint_set(handlert
   int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
   int const error=
     thd->binlog_query(THD::STMT_QUERY_TYPE,
-                      thd->query, thd->query_length, TRUE, FALSE, errcode);
+                      thd->query, thd->query_length, TRUE, FALSE,
+                      FALSE, errcode);
   DBUG_RETURN(error);
 }
 
@@ -2980,7 +3070,8 @@ static int binlog_savepoint_rollback(han
     int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
     int error=
       thd->binlog_query(THD::STMT_QUERY_TYPE,
-                        thd->query, thd->query_length, TRUE, FALSE, errcode);
+                        thd->query, thd->query_length, TRUE, FALSE,
+                        FALSE, errcode);
     DBUG_RETURN(error);
   }
   binlog_trans_log_truncate(thd, *(my_off_t*)sv);
@@ -5639,27 +5730,59 @@ bool MYSQL_BIN_LOG::is_query_in_union(TH
 int THD::binlog_setup_trx_data()
 {
   DBUG_ENTER("THD::binlog_setup_trx_data");
-  binlog_trx_data *trx_data=
-    (binlog_trx_data*) thd_get_ha_data(this, binlog_hton);
+  binlog_cache_mngr *cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
 
-  if (trx_data)
+  if (cache_mngr)
     DBUG_RETURN(0);                             // Already set up
 
-  trx_data= (binlog_trx_data*) my_malloc(sizeof(binlog_trx_data), MYF(MY_ZEROFILL));
-  if (!trx_data ||
-      open_cached_file(&trx_data->trans_log, mysql_tmpdir,
+  cache_mngr= (binlog_cache_mngr*) my_malloc(sizeof(binlog_cache_mngr), MYF(MY_ZEROFILL));
+  if (!cache_mngr ||
+      open_cached_file(&cache_mngr->stmt_cache.cache_log, mysql_tmpdir,
+                       LOG_PREFIX, binlog_cache_size, MYF(MY_WME)) ||
+      open_cached_file(&cache_mngr->trx_cache.cache_log, mysql_tmpdir,
                        LOG_PREFIX, binlog_cache_size, MYF(MY_WME)))
   {
-    my_free((uchar*)trx_data, MYF(MY_ALLOW_ZERO_PTR));
+    my_free((uchar*)cache_mngr, MYF(MY_ALLOW_ZERO_PTR));
     DBUG_RETURN(1);                      // Didn't manage to set it up
   }
-  thd_set_ha_data(this, binlog_hton, trx_data);
+  thd_set_ha_data(this, binlog_hton, cache_mngr);
 
-  trx_data= new (thd_get_ha_data(this, binlog_hton)) binlog_trx_data;
+  cache_mngr= new (thd_get_ha_data(this, binlog_hton)) binlog_cache_mngr;
 
   DBUG_RETURN(0);
 }
 
+bool
+trans_has_updated_trans_table(THD* thd)
+{
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
+
+  return (cache_mngr ? my_b_tell (&cache_mngr->trx_cache.cache_log) : 0);
+}
+
+/** 
+    This function checks if a transactional talbe was updated by the
+    current statement.
+
+    @param thd The client thread that executed the current statement.
+    @return
+      @c true if a transactional table was updated, @false otherwise.
+*/
+bool
+stmt_has_updated_trans_table(THD *thd)
+{
+  Ha_trx_info *ha_info;
+
+  for (ha_info= thd->transaction.stmt.ha_list; ha_info; ha_info= ha_info->next())
+  {
+    if (ha_info->is_trx_read_write() && ha_info->ht() != binlog_hton)
+      return (TRUE);
+  }
+  return (FALSE);
+}
+
 /*
   Function to start a statement and optionally a transaction for the
   binary log.
@@ -5673,11 +5796,10 @@ int THD::binlog_setup_trx_data()
     - Start a transaction if not in autocommit mode or if a BEGIN
       statement has been seen.
 
-    - Start a statement transaction to allow us to truncate the binary
-      log.
+    - Start a statement transaction to allow us to truncate the cache.
 
     - Save the currrent binlog position so that we can roll back the
-      statement by truncating the transaction log.
+      statement by truncating the cache.
 
       We only update the saved position if the old one was undefined,
       the reason is that there are some cases (e.g., for CREATE-SELECT)
@@ -5691,15 +5813,15 @@ int THD::binlog_setup_trx_data()
 void
 THD::binlog_start_trans_and_stmt()
 {
-  binlog_trx_data *trx_data= (binlog_trx_data*) thd_get_ha_data(this, binlog_hton);
+  binlog_cache_mngr *cache_mngr= (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
   DBUG_ENTER("binlog_start_trans_and_stmt");
-  DBUG_PRINT("enter", ("trx_data: %p  trx_data->before_stmt_pos: %lu",
-                       trx_data,
-                       (trx_data ? (ulong) trx_data->before_stmt_pos :
+  DBUG_PRINT("enter", ("cache_mngr: %p  cache_mngr->get_prv_position(): %lu",
+                       cache_mngr,
+                       (cache_mngr ? (ulong) cache_mngr->get_prv_position() :
                         (ulong) 0)));
 
-  if (trx_data == NULL ||
-      trx_data->before_stmt_pos == MY_OFF_T_UNDEF)
+  if (cache_mngr == NULL ||
+      cache_mngr->get_prv_position() == MY_OFF_T_UNDEF)
   {
     this->binlog_set_stmt_begin();
     if (in_multi_stmt_transaction())
@@ -5720,19 +5842,19 @@ THD::binlog_start_trans_and_stmt()
 }
 
 void THD::binlog_set_stmt_begin() {
-  binlog_trx_data *trx_data=
-    (binlog_trx_data*) thd_get_ha_data(this, binlog_hton);
+  binlog_cache_mngr *cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
 
   /*
-    The call to binlog_trans_log_savepos() might create the trx_data
+    The call to binlog_trans_log_savepos() might create the cache_mngr
     structure, if it didn't exist before, so we save the position
     into an auto variable and then write it into the transaction
-    data for the binary log (i.e., trx_data).
+    data for the binary log (i.e., cache_mngr).
   */
   my_off_t pos= 0;
   binlog_trans_log_savepos(this, &pos);
-  trx_data= (binlog_trx_data*) thd_get_ha_data(this, binlog_hton);
-  trx_data->before_stmt_pos= pos;
+  cache_mngr= (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
+  cache_mngr->set_prv_position(pos);
 }
 
 
@@ -5740,7 +5862,7 @@ void THD::binlog_set_stmt_begin() {
   Write a table map to the binary log.
  */
 
-int THD::binlog_write_table_map(TABLE *table, bool is_trans)
+int THD::binlog_write_table_map(TABLE *table, bool is_transactional)
 {
   int error;
   DBUG_ENTER("THD::binlog_write_table_map");
@@ -5756,12 +5878,19 @@ int THD::binlog_write_table_map(TABLE *t
     flags= Table_map_log_event::TM_NO_FLAGS;
 
   Table_map_log_event
-    the_event(this, table, table->s->table_map_id, is_trans, flags);
+    the_event(this, table, table->s->table_map_id, is_transactional, flags);
 
-  if (is_trans && binlog_table_maps == 0)
+  if (binlog_table_maps == 0)
     binlog_start_trans_and_stmt();
 
-  if ((error= mysql_bin_log.write(&the_event)))
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
+
+  IO_CACHE *file= (is_transactional ?
+                   &cache_mngr->trx_cache.cache_log :
+                   &cache_mngr->stmt_cache.cache_log);
+
+  if ((error= the_event.write(file)))
     DBUG_RETURN(error);
 
   binlog_table_maps++;
@@ -5770,30 +5899,37 @@ int THD::binlog_write_table_map(TABLE *t
 }
 
 Rows_log_event*
-THD::binlog_get_pending_rows_event() const
+THD::binlog_get_pending_rows_event(bool is_transactional) const
 {
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(this, binlog_hton);
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
+
   /*
     This is less than ideal, but here's the story: If there is no
-    trx_data, prepare_pending_rows_event() has never been called
-    (since the trx_data is set up there). In that case, we just return
+    cache_mngr, prepare_pending_rows_event() has never been called
+    (since the cache_mngr is set up there). In that case, we just return
     NULL.
    */
-  return trx_data ? trx_data->pending() : NULL;
+  return (cache_mngr ? (is_transactional ?
+                      cache_mngr->trx_cache.pending() :
+                      cache_mngr->stmt_cache.pending())
+         : NULL);
 }
 
 void
-THD::binlog_set_pending_rows_event(Rows_log_event* ev)
+THD::binlog_set_pending_rows_event(Rows_log_event* ev, bool is_transactional)
 {
   if (thd_get_ha_data(this, binlog_hton) == NULL)
     binlog_setup_trx_data();
 
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(this, binlog_hton);
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
 
-  DBUG_ASSERT(trx_data);
-  trx_data->set_pending(ev);
+  DBUG_ASSERT(cache_mngr);
+
+  binlog_cache_data *cache_data= (is_transactional ?
+                          &cache_mngr->trx_cache : &cache_mngr->stmt_cache);
+  cache_data->set_pending(ev);
 }
 
 
@@ -5804,19 +5940,21 @@ THD::binlog_set_pending_rows_event(Rows_
   no-op.
  */
 int
-MYSQL_BIN_LOG::remove_pending_rows_event(THD *thd)
+MYSQL_BIN_LOG::remove_pending_rows_event(THD *thd, bool is_transactional)
 {
   DBUG_ENTER("MYSQL_BIN_LOG::remove_pending_rows_event");
 
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
 
-  DBUG_ASSERT(trx_data);
+  DBUG_ASSERT(cache_mngr);
 
-  if (Rows_log_event* pending= trx_data->pending())
+  binlog_cache_data *cache_data= (is_transactional ?
+                          &cache_mngr->trx_cache : &cache_mngr->stmt_cache);
+  if (Rows_log_event* pending= cache_data->pending())
   {
     delete pending;
-    trx_data->set_pending(NULL);
+    cache_data->set_pending(NULL);
   }
 
   DBUG_RETURN(0);
@@ -5829,7 +5967,8 @@ MYSQL_BIN_LOG::remove_pending_rows_event
 */
 int
 MYSQL_BIN_LOG::flush_and_set_pending_rows_event(THD *thd,
-                                                Rows_log_event* event)
+                                                Rows_log_event* event,
+                                                bool is_transactional)
 {
   DBUG_ENTER("MYSQL_BIN_LOG::flush_and_set_pending_rows_event(event)");
   DBUG_ASSERT(mysql_bin_log.is_open());
@@ -5837,53 +5976,40 @@ MYSQL_BIN_LOG::flush_and_set_pending_row
 
   int error= 0;
 
-  binlog_trx_data *const trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
+  binlog_cache_mngr *const cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
 
-  DBUG_ASSERT(trx_data);
+  DBUG_ASSERT(cache_mngr);
 
-  DBUG_PRINT("info", ("trx_data->pending(): %p", trx_data->pending()));
+  binlog_cache_data *cache_data= (is_transactional ?
+                          &cache_mngr->trx_cache : &cache_mngr->stmt_cache);
 
-  if (Rows_log_event* pending= trx_data->pending())
-  {
-    IO_CACHE *file= &log_file;
+  DBUG_PRINT("info", ("cache_mngr->pending(): 0x%lx", (long) cache_data->pending()));
 
-    /*
-      Decide if we should write to the log file directly or to the
-      transaction log.
-    */
-    if (pending->get_cache_stmt() || my_b_tell(&trx_data->trans_log))
-      file= &trx_data->trans_log;
-
-    /*
-      If we are writing to the log file directly, we could avoid
-      locking the log. This does not work since we need to step the
-      m_table_map_version below, and that change has to be protected
-      by the LOCK_log mutex.
-    */
-    pthread_mutex_lock(&LOCK_log);
+  if (Rows_log_event* pending= cache_data->pending())
+  {
+    IO_CACHE *file= &cache_data->cache_log;
 
     /*
-      Write pending event to log file or transaction cache
+      Write pending event to the cache.
     */
     if (pending->write(file))
     {
-      pthread_mutex_unlock(&LOCK_log);
       set_write_error(thd);
+      if (check_write_error(thd) && cache_data && 
+        thd->transaction.stmt.modified_non_trans_table)
+        cache_data->set_incident();
       DBUG_RETURN(1);
     }
 
     /*
       We step the table map version if we are writing an event
-      representing the end of a statement.  We do this regardless of
-      wheather we write to the transaction cache or to directly to the
-      file.
-
-      In an ideal world, we could avoid stepping the table map version
-      if we were writing to a transaction cache, since we could then
-      reuse the table map that was written earlier in the transaction
-      cache.  This does not work since STMT_END_F implies closing all
-      table mappings on the slave side.
+      representing the end of a statement.  
+
+      In an ideal world, we could avoid stepping the table map version,
+      since we could then reuse the table map that was written earlier
+      in the cache. This does not work since STMT_END_F implies closing
+      all table mappings on the slave side.
 
       TODO: Find a solution so that table maps does not have to be
       written several times within a transaction.
@@ -5892,21 +6018,9 @@ MYSQL_BIN_LOG::flush_and_set_pending_row
       ++m_table_map_version;
 
     delete pending;
-
-    if (file == &log_file)
-    {
-      error= flush_and_sync(0);
-      if (!error)
-      {
-        signal_update();
-        rotate_and_purge(RP_LOCK_LOG_IS_ALREADY_LOCKED);
-      }
-    }
-
-    pthread_mutex_unlock(&LOCK_log);
   }
 
-  thd->binlog_set_pending_rows_event(event);
+  thd->binlog_set_pending_rows_event(event, is_transactional);
 
   DBUG_RETURN(error);
 }
@@ -5915,11 +6029,12 @@ MYSQL_BIN_LOG::flush_and_set_pending_row
   Write an event to the binary log.
 */
 
-bool MYSQL_BIN_LOG::write(Log_event *event_info)
+bool MYSQL_BIN_LOG::write(Log_event *event_info, bool direct)
 {
   THD *thd= event_info->thd;
   bool error= 1;
   DBUG_ENTER("MYSQL_BIN_LOG::write(Log_event *)");
+  binlog_cache_data *cache_data= 0;
 
   if (thd->binlog_evt_union.do_union)
   {
@@ -5928,27 +6043,22 @@ bool MYSQL_BIN_LOG::write(Log_event *eve
       We will log the function call to the binary log on function exit
     */
     thd->binlog_evt_union.unioned_events= TRUE;
-    thd->binlog_evt_union.unioned_events_trans |= event_info->cache_stmt;
+    thd->binlog_evt_union.unioned_events_trans |= 
+      event_info->is_trans_event();
     DBUG_RETURN(0);
   }
 
   /*
-    Flush the pending rows event to the transaction cache or to the
-    log file.  Since this function potentially aquire the LOCK_log
-    mutex, we do this before aquiring the LOCK_log mutex in this
-    function.
-
     We only end the statement if we are in a top-level statement.  If
     we are inside a stored function, we do not end the statement since
     this will close all tables on the slave.
   */
   bool const end_stmt=
     thd->locked_tables_mode && thd->lex->requires_prelocking();
-  if (thd->binlog_flush_pending_rows_event(end_stmt))
+  if (thd->binlog_flush_pending_rows_event(end_stmt,
+                                           event_info->is_trans_event()))
     DBUG_RETURN(error);
 
-  pthread_mutex_lock(&LOCK_log);
-
   /*
      In most cases this is only called if 'is_open()' is true; in fact this is
      mostly called if is_open() *was* true a few instructions before, but it
@@ -5956,7 +6066,6 @@ bool MYSQL_BIN_LOG::write(Log_event *eve
   */
   if (likely(is_open()))
   {
-    IO_CACHE *file= &log_file;
 #ifdef HAVE_REPLICATION
     /*
       In the future we need to add to the following if tests like
@@ -5966,45 +6075,57 @@ bool MYSQL_BIN_LOG::write(Log_event *eve
     const char *local_db= event_info->get_db();
     if ((thd && !(thd->options & OPTION_BIN_LOG)) ||
 	(!binlog_filter->db_ok(local_db)))
-    {
-      pthread_mutex_unlock(&LOCK_log);
       DBUG_RETURN(0);
-    }
 #endif /* HAVE_REPLICATION */
+    IO_CACHE *file= NULL;
 
     /*
-      Should we write to the binlog cache or to the binlog on disk?
-      Write to the binlog cache if:
-      - it is already not empty (meaning we're in a transaction; note that the
-     present event could be about a non-transactional table, but still we need
-     to write to the binlog cache in that case to handle updates to mixed
-     trans/non-trans table types the best possible in binlogging)
-      - or if the event asks for it (cache_stmt == TRUE).
+      This is an ugly hack that must be removed as soon as we fix a bug in
+      NDB. In a nutshell, this  means that we should use the binary log 
+      directly if we are processing a DDL.
     */
-    if (opt_using_transactions && thd)
+    bool ddl=
+      (!thd->in_multi_stmt_transaction() &&
+       !thd->transaction.stmt.modified_non_trans_table &&
+       !stmt_has_updated_trans_table(thd) &&
+       !trans_has_updated_trans_table(thd) &&
+       !event_info->is_trans_event());
+
+    direct= direct || ddl;
+
+    if (direct)
+    {
+      file= &log_file;
+      pthread_mutex_lock(&LOCK_log);
+    }
+    else
     {
       if (thd->binlog_setup_trx_data())
         goto err;
 
-      binlog_trx_data *const trx_data=
-        (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
-      IO_CACHE *trans_log= &trx_data->trans_log;
-      my_off_t trans_log_pos= my_b_tell(trans_log);
-      if (event_info->get_cache_stmt() || trans_log_pos != 0 ||
-          stmt_has_updated_trans_table(thd))
+      binlog_cache_mngr *const cache_mngr=
+        (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
+
+      if (thd->current_stmt_binlog_row_based)
       {
-        DBUG_PRINT("info", ("Using trans_log: cache: %d, trans_log_pos: %lu",
-                            event_info->get_cache_stmt(),
-                            (ulong) trans_log_pos));
-        thd->binlog_start_trans_and_stmt();
-        file= trans_log;
+        file= event_info->is_trans_event() ? &cache_mngr->trx_cache.cache_log :
+                                             &cache_mngr->stmt_cache.cache_log;
+        cache_data=  event_info->is_trans_event() ? &cache_mngr->trx_cache : 
+                                                    &cache_mngr->stmt_cache;
       }
-      /*
-        TODO as Mats suggested, for all the cases above where we write to
-        trans_log, it sounds unnecessary to lock LOCK_log. We should rather
-        test first if we want to write to trans_log, and if not, lock
-        LOCK_log.
-      */
+      else if (cache_mngr->trx_cache.empty() && !event_info->is_trans_event() &&
+               !stmt_has_updated_trans_table(thd) && !cache_mngr->stmt_temp_table())
+      {
+        file= &cache_mngr->stmt_cache.cache_log;
+        cache_data=  &cache_mngr->stmt_cache;
+      }
+      else
+      {
+        file= &cache_mngr->trx_cache.cache_log;
+        cache_data= &cache_mngr->trx_cache;
+      }
+   
+      thd->binlog_start_trans_and_stmt();
     }
 
     DBUG_PRINT("info",("event type: %d",event_info->get_type_code()));
@@ -6072,38 +6193,46 @@ bool MYSQL_BIN_LOG::write(Log_event *eve
 
     /*
        Write the SQL command
-     */
-
+    */
     if (event_info->write(file) || 
         DBUG_EVALUATE_IF("injecting_fault_writing", 1, 0))
       goto err;
 
-    if (file == &log_file) // we are writing to the real log (disk)
+    error= 0;
+
+err:
+    if (direct)
     {
-      bool synced;
-      if (flush_and_sync(&synced))
-	goto err;
+      if (!error)
+      {
+        bool synced;
+        if ((error= flush_and_sync(&synced)))
+          goto unlock;
 
-      if (RUN_HOOK(binlog_storage, after_flush,
-                   (thd, log_file_name, file->pos_in_file, synced))) {
-        sql_print_error("Failed to run 'after_flush' hooks");
-        goto err;
+        if ((error= RUN_HOOK(binlog_storage, after_flush,
+                 (thd, log_file_name, file->pos_in_file, synced))))
+        {
+          sql_print_error("Failed to run 'after_flush' hooks");
+          goto unlock;
+        }
+        signal_update();
+        rotate_and_purge(RP_LOCK_LOG_IS_ALREADY_LOCKED);
       }
-
-      signal_update();
-      rotate_and_purge(RP_LOCK_LOG_IS_ALREADY_LOCKED);
+unlock:
+      pthread_mutex_unlock(&LOCK_log);
     }
-    error=0;
-
-err:
     if (error)
+    {
       set_write_error(thd);
+      if (check_write_error(thd) && cache_data &&
+        thd->transaction.stmt.modified_non_trans_table)
+        cache_data->set_incident();
+    }
   }
 
   if (event_info->flags & LOG_EVENT_UPDATE_TABLE_MAP_VERSION_F)
     ++m_table_map_version;
 
-  pthread_mutex_unlock(&LOCK_log);
   DBUG_RETURN(error);
 }
 
@@ -6215,7 +6344,7 @@ uint MYSQL_BIN_LOG::next_file_id()
     write_cache()
     cache    Cache to write to the binary log
     lock_log True if the LOCK_log mutex should be aquired, false otherwise
-    sync_log True if the log should be flushed and sync:ed
+    sync_log True if the log should be flushed and synced
 
   DESCRIPTION
     Write the contents of the cache to the binary log. The cache will
@@ -6431,14 +6560,11 @@ bool MYSQL_BIN_LOG::write_incident(THD *
 */
 
 bool MYSQL_BIN_LOG::write(THD *thd, IO_CACHE *cache, Log_event *commit_event,
-                          bool incident)
+                          bool incident, bool is_transactional)
 {
   DBUG_ENTER("MYSQL_BIN_LOG::write(THD *, IO_CACHE *, Log_event *)");
   pthread_mutex_lock(&LOCK_log);
 
-  /* NULL would represent nothing to replicate after ROLLBACK */
-  DBUG_ASSERT(commit_event != NULL);
-
   DBUG_ASSERT(is_open());
   if (likely(is_open()))                       // Should always be true
   {
@@ -6448,24 +6574,17 @@ bool MYSQL_BIN_LOG::write(THD *thd, IO_C
      */
     if (my_b_tell(cache) > 0)
     {
-      /*
-        Log "BEGIN" at the beginning of every transaction.  Here, a
-        transaction is either a BEGIN..COMMIT block or a single
-        statement in autocommit mode.
-      */
-      Query_log_event qinfo(thd, STRING_WITH_LEN("BEGIN"), TRUE, TRUE, 0);
-
-      /*
-        Now this Query_log_event has artificial log_pos 0. It must be
-        adjusted to reflect the real position in the log. Not doing it
-        would confuse the slave: it would prevent this one from
-        knowing where he is in the master's binlog, which would result
-        in wrong positions being shown to the user, MASTER_POS_WAIT
-        undue waiting etc.
-      */
-      if (qinfo.write(&log_file))
-        goto err;
-
+      if (is_transactional)
+      {
+        /*
+          Log "BEGIN" at the beginning of every transaction.  Here, a
+          transaction is either a BEGIN..COMMIT block or a single
+          statement in autocommit mode.
+        */
+        Query_log_event qinfo(thd, STRING_WITH_LEN("BEGIN"), TRUE, TRUE, 0);
+        if (qinfo.write(&log_file))
+          goto err;
+      }
       DBUG_EXECUTE_IF("crash_before_writing_xid",
                       {
                         if ((write_error= write_cache(cache, false, true)))
@@ -7564,13 +7683,13 @@ int TC_LOG_BINLOG::log_xid(THD *thd, my_
 {
   DBUG_ENTER("TC_LOG_BINLOG::log");
   Xid_log_event xle(thd, xid);
-  binlog_trx_data *trx_data=
-    (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton);
+  binlog_cache_mngr *cache_mngr=
+    (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
   /*
     We always commit the entire transaction when writing an XID. Also
     note that the return value is inverted.
    */
-  DBUG_RETURN(!binlog_end_trans(thd, trx_data, &xle, TRUE));
+  DBUG_RETURN(!binlog_flush_trx_cache(thd, cache_mngr, &xle));
 }
 
 void TC_LOG_BINLOG::unlog(ulong cookie, my_xid xid)

=== modified file 'sql/log.h'
--- a/sql/log.h	2009-06-22 12:30:28 +0000
+++ b/sql/log.h	2009-09-08 11:25:50 +0000
@@ -61,6 +61,10 @@ class Relay_log_info;
 
 class Format_description_log_event;
 
+bool trans_has_updated_trans_table(THD* thd);
+bool stmt_has_updated_trans_table(THD *thd);
+void set_stmt_has_referenced_temp_table(THD* thd);
+
 /*
   Transaction Coordinator log - a base abstract class
   for two different implementations
@@ -443,8 +447,9 @@ public:
   ulonglong table_map_version() const { return m_table_map_version; }
   void update_table_map_version() { ++m_table_map_version; }
 
-  int flush_and_set_pending_rows_event(THD *thd, Rows_log_event* event);
-  int remove_pending_rows_event(THD *thd);
+  int flush_and_set_pending_rows_event(THD *thd, Rows_log_event* event,
+                                       bool is_transactional);
+  int remove_pending_rows_event(THD *thd, bool is_transactional);
 
 #endif /* !defined(MYSQL_CLIENT) */
   void reset_bytes_written()
@@ -482,8 +487,9 @@ public:
   /* Use this to start writing a new log file */
   void new_file();
 
-  bool write(Log_event* event_info); // binary log write
-  bool write(THD *thd, IO_CACHE *cache, Log_event *commit_event, bool incident);
+  bool write(Log_event* event_info, bool direct= FALSE);
+  bool write(THD *thd, IO_CACHE *cache, Log_event *commit_event, bool incident, 
+             bool is_transactional);
   bool write_incident(THD *thd, bool lock);
 
   int  write_cache(IO_CACHE *cache, bool lock_log, bool flush_and_sync);

=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc	2009-08-31 20:25:11 +0000
+++ b/sql/log_event.cc	2009-09-08 11:25:50 +0000
@@ -665,7 +665,7 @@ Log_event::Log_event(THD* thd_arg, uint1
 {
   server_id=	thd->server_id;
   when=		thd->start_time;
-  cache_stmt=	using_trans;
+  is_transactional= using_trans;
 }
 
 
@@ -677,7 +677,7 @@ Log_event::Log_event(THD* thd_arg, uint1
 */
 
 Log_event::Log_event()
-  :temp_buf(0), exec_time(0), flags(0), cache_stmt(0),
+  :temp_buf(0), exec_time(0), flags(0), is_transactional(0),
    thd(0)
 {
   server_id=	::server_id;
@@ -697,7 +697,7 @@ Log_event::Log_event()
 
 Log_event::Log_event(const char* buf,
                      const Format_description_log_event* description_event)
-  :temp_buf(0), cache_stmt(0)
+  :temp_buf(0), is_transactional(0)
 {
 #ifndef MYSQL_CLIENT
   thd = 0;
@@ -7557,7 +7557,7 @@ int Rows_log_event::do_apply_event(Relay
       error= 0;
     }
 
-    if (!cache_stmt)
+    if (!is_transactional)
     {
       DBUG_PRINT("info", ("Marked that we need to keep log"));
       thd->options|= OPTION_KEEP_LOG;
@@ -7576,7 +7576,6 @@ int Rows_log_event::do_apply_event(Relay
     const_cast<Relay_log_info*>(rli)->cleanup_context(thd, error);
     thd->is_slave_error= 1;
   }
-
   DBUG_RETURN(error);
 }
 
@@ -7624,7 +7623,7 @@ static int rows_event_stmt_cleanup(Relay
       (assume the last master's transaction is ignored by the slave because of
       replicate-ignore rules).
     */
-    thd->binlog_flush_pending_rows_event(true);
+    thd->binlog_flush_pending_rows_event(TRUE);
 
     /*
       If this event is not in a transaction, the call below will, if some
@@ -7881,7 +7880,7 @@ int Table_map_log_event::save_field_meta
 #if !defined(MYSQL_CLIENT)
 Table_map_log_event::Table_map_log_event(THD *thd, TABLE *tbl, ulong tid,
                                          bool is_transactional, uint16 flags)
-  : Log_event(thd, 0, true),
+  : Log_event(thd, 0, is_transactional),
     m_table(tbl),
     m_dbnam(tbl->s->db.str),
     m_dblen(m_dbnam ? tbl->s->db.length : 0),

=== modified file 'sql/log_event.h'
--- a/sql/log_event.h	2009-06-30 19:04:13 +0000
+++ b/sql/log_event.h	2009-09-08 11:25:50 +0000
@@ -921,7 +921,7 @@ public:
   */
   uint16 flags;
 
-  bool cache_stmt;
+  bool is_transactional;
 
   /**
     A storage to cache the global system variable's value.
@@ -933,7 +933,7 @@ public:
   THD* thd;
 
   Log_event();
-  Log_event(THD* thd_arg, uint16 flags_arg, bool cache_stmt);
+  Log_event(THD* thd_arg, uint16 flags_arg, bool is_transactional);
   /*
     read_log_event() functions read an event from a binlog or relay
     log; used by SHOW BINLOG EVENTS, the binlog_dump thread on the
@@ -1031,7 +1031,7 @@ public:
   void set_relay_log_event() { flags |= LOG_EVENT_RELAY_LOG_F; }
   bool is_artificial_event() const { return flags & LOG_EVENT_ARTIFICIAL_F; }
   bool is_relay_log_event() const { return flags & LOG_EVENT_RELAY_LOG_F; }
-  inline bool get_cache_stmt() const { return cache_stmt; }
+  inline bool is_trans_event() const { return is_transactional; }
   Log_event(const char* buf, const Format_description_log_event
             *description_event);
   virtual ~Log_event() { free_temp_buf();}
@@ -3328,10 +3328,10 @@ public:
     return new table_def(m_coltype, m_colcnt, m_field_metadata,
                          m_field_metadata_size, m_null_bits);
   }
+#endif
   ulong get_table_id() const        { return m_table_id; }
   const char *get_table_name() const { return m_tblnam; }
   const char *get_db_name() const    { return m_dbnam; }
-#endif
 
   virtual Log_event_type get_type_code() { return TABLE_MAP_EVENT; }
   virtual bool is_valid() const { return m_memory != NULL; /* we check malloc */ }

=== modified file 'sql/log_event_old.cc'
--- a/sql/log_event_old.cc	2009-08-13 14:29:55 +0000
+++ b/sql/log_event_old.cc	2009-09-08 11:25:50 +0000
@@ -227,7 +227,7 @@ Old_rows_log_event::do_apply_event(Old_r
     DBUG_EXECUTE_IF("stop_slave_middle_group",
                     const_cast<Relay_log_info*>(rli)->abort_slave= 1;);
     error= do_after_row_operations(table, error);
-    if (!ev->cache_stmt)
+    if (!ev->is_transactional)
     {
       DBUG_PRINT("info", ("Marked that we need to keep log"));
       thd->options|= OPTION_KEEP_LOG;
@@ -1514,7 +1514,7 @@ int Old_rows_log_event::do_apply_event(R
         NOTE: For this new scheme there should be no pending event:
         need to add code to assert that is the case.
        */
-      thd->binlog_flush_pending_rows_event(false);
+      thd->binlog_flush_pending_rows_event(FALSE);
       TABLE_LIST *tables= rli->tables_to_lock;
       close_tables_for_reopen(thd, &tables);
 
@@ -1718,7 +1718,7 @@ int Old_rows_log_event::do_apply_event(R
     DBUG_EXECUTE_IF("stop_slave_middle_group",
                     const_cast<Relay_log_info*>(rli)->abort_slave= 1;);
     error= do_after_row_operations(rli, error);
-    if (!cache_stmt)
+    if (!is_transactional)
     {
       DBUG_PRINT("info", ("Marked that we need to keep log"));
       thd->options|= OPTION_KEEP_LOG;
@@ -1750,7 +1750,6 @@ int Old_rows_log_event::do_apply_event(R
     thd->is_slave_error= 1;
     DBUG_RETURN(error);
   }
-
   DBUG_RETURN(0);
 }
 
@@ -1795,7 +1794,7 @@ Old_rows_log_event::do_update_pos(Relay_
       (assume the last master's transaction is ignored by the slave because of
       replicate-ignore rules).
     */
-    thd->binlog_flush_pending_rows_event(true);
+    thd->binlog_flush_pending_rows_event(TRUE);
 
     /*
       If this event is not in a transaction, the call below will, if some

=== modified file 'sql/sp.cc'
--- a/sql/sp.cc	2009-08-14 15:22:05 +0000
+++ b/sql/sp.cc	2009-09-08 11:25:50 +0000
@@ -945,7 +945,7 @@ sp_create_routine(THD *thd, int type, sp
       /* Such a statement can always go directly to binlog, no trans cache */
       thd->binlog_query(THD::MYSQL_QUERY_TYPE,
                         log_query.c_ptr(), log_query.length(),
-                        FALSE, FALSE, 0);
+                        FALSE, FALSE, FALSE, 0);
       thd->variables.sql_mode= 0;
     }
 

=== modified file 'sql/sql_acl.cc'
--- a/sql/sql_acl.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_acl.cc	2009-09-08 11:25:50 +0000
@@ -1661,7 +1661,7 @@ bool change_password(THD *thd, const cha
                   new_password));
     thd->clear_error();
     thd->binlog_query(THD::MYSQL_QUERY_TYPE, buff, query_length,
-                      FALSE, FALSE, 0);
+                      FALSE, FALSE, FALSE, 0);
   }
 end:
   close_thread_tables(thd);

=== modified file 'sql/sql_base.cc'
--- a/sql/sql_base.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_base.cc	2009-09-08 11:25:50 +0000
@@ -1678,7 +1678,7 @@ void close_temporary_tables(THD *thd)
                             0, FALSE, 0);
       qinfo.db= db.ptr();
       thd->variables.character_set_client= cs_save;
-      mysql_bin_log.write(&qinfo);
+      mysql_bin_log.write(&qinfo, TRUE);
       thd->variables.pseudo_thread_id= save_pseudo_thread_id;
     }
     else
@@ -3503,7 +3503,7 @@ static bool open_table_entry_fini(THD *t
         int errcode= query_error_code(thd, TRUE);
         thd->binlog_query(THD::STMT_QUERY_TYPE,
                           query, (ulong)(end-query),
-                          FALSE, FALSE, errcode);
+                          FALSE, FALSE, FALSE, errcode);
         my_free(query, MYF(0));
       }
       else
@@ -4816,7 +4816,10 @@ bool decide_logging_format(THD *thd, TAB
       HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE;
 
     my_bool multi_engine= FALSE;
-    void* prev_ht= NULL;
+    my_bool mixed_engine= FALSE;
+    my_bool trans_engine= TRUE;
+    TABLE* prev_write_table= NULL;
+    TABLE* prev_access_table= NULL;
     for (TABLE_LIST *table= tables; table; table= table->next_global)
     {
       if (table->placeholder())
@@ -4830,14 +4833,23 @@ bool decide_logging_format(THD *thd, TAB
                             table->table_name,
                             FLAGSTR(flags, HA_BINLOG_STMT_CAPABLE),
                             FLAGSTR(flags, HA_BINLOG_ROW_CAPABLE)));
-        if (prev_ht && prev_ht != table->table->file->ht)
+        if (prev_write_table && prev_write_table->file->ht != table->table->file->ht)
           multi_engine= TRUE;
-        prev_ht= table->table->file->ht;
+        trans_engine= trans_engine && table->table->file->has_transactions();
+        prev_write_table= table->table;
         flags_all_set &= flags;
         flags_some_set |= flags;
       }
+      if (prev_access_table && prev_access_table->file->ht != table->table->file->ht)
+        mixed_engine= mixed_engine || (prev_access_table->file->has_transactions() !=
+                      table->table->file->has_transactions());
+      prev_access_table= table->table;
     }
 
+    if (mixed_engine ||
+        (trans_has_updated_trans_table(thd) && !trans_engine))
+      thd->lex->set_stmt_unsafe();
+
     DBUG_PRINT("info", ("flags_all_set: %s%s",
                         FLAGSTR(flags_all_set, HA_BINLOG_STMT_CAPABLE),
                         FLAGSTR(flags_all_set, HA_BINLOG_ROW_CAPABLE)));
@@ -4907,9 +4919,7 @@ bool decide_logging_format(THD *thd, TAB
     */
     if (thd->lex->is_stmt_unsafe() ||
         (flags_all_set & HA_BINLOG_STMT_CAPABLE) == 0)
-    {
       thd->set_current_stmt_binlog_row_based_if_mixed();
-    }
   }
 
   return FALSE;

=== modified file 'sql/sql_class.cc'
--- a/sql/sql_class.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_class.cc	2009-09-08 11:25:50 +0000
@@ -915,7 +915,8 @@ void THD::init(void)
   else
     options &= ~OPTION_BIG_SELECTS;
 
-  transaction.all.modified_non_trans_table= transaction.stmt.modified_non_trans_table= FALSE;
+  transaction.all.modified_non_trans_table=
+    transaction.stmt.modified_non_trans_table= FALSE;
   open_options=ha_open_options;
   update_lock_default= (variables.low_priority_updates ?
 			TL_WRITE_LOW_PRIORITY :
@@ -3503,7 +3504,7 @@ THD::binlog_prepare_pending_rows_event(T
   if (binlog_setup_trx_data())
     DBUG_RETURN(NULL);
 
-  Rows_log_event* pending= binlog_get_pending_rows_event();
+  Rows_log_event* pending= binlog_get_pending_rows_event(is_transactional);
 
   if (unlikely(pending && !pending->is_valid()))
     DBUG_RETURN(NULL);
@@ -3544,7 +3545,9 @@ THD::binlog_prepare_pending_rows_event(T
       flush the pending event and replace it with the newly created
       event...
     */
-    if (unlikely(mysql_bin_log.flush_and_set_pending_rows_event(this, ev)))
+    if (unlikely(
+        mysql_bin_log.flush_and_set_pending_rows_event(this, ev,
+                                                       is_transactional)))
     {
       delete ev;
       DBUG_RETURN(NULL);
@@ -3797,14 +3800,15 @@ int THD::binlog_delete_row(TABLE* table,
 }
 
 
-int THD::binlog_remove_pending_rows_event(bool clear_maps)
+int THD::binlog_remove_pending_rows_event(bool clear_maps,
+                                          bool is_transactional)
 {
   DBUG_ENTER("THD::binlog_remove_pending_rows_event");
 
   if (!mysql_bin_log.is_open())
     DBUG_RETURN(0);
 
-  mysql_bin_log.remove_pending_rows_event(this);
+  mysql_bin_log.remove_pending_rows_event(this, is_transactional);
 
   if (clear_maps)
     binlog_table_maps= 0;
@@ -3812,7 +3816,7 @@ int THD::binlog_remove_pending_rows_even
   DBUG_RETURN(0);
 }
 
-int THD::binlog_flush_pending_rows_event(bool stmt_end)
+int THD::binlog_flush_pending_rows_event(bool stmt_end, bool is_transactional)
 {
   DBUG_ENTER("THD::binlog_flush_pending_rows_event");
   /*
@@ -3828,7 +3832,7 @@ int THD::binlog_flush_pending_rows_event
     flag is set.
   */
   int error= 0;
-  if (Rows_log_event *pending= binlog_get_pending_rows_event())
+  if (Rows_log_event *pending= binlog_get_pending_rows_event(is_transactional))
   {
     if (stmt_end)
     {
@@ -3837,7 +3841,8 @@ int THD::binlog_flush_pending_rows_event
       binlog_table_maps= 0;
     }
 
-    error= mysql_bin_log.flush_and_set_pending_rows_event(this, 0);
+    error= mysql_bin_log.flush_and_set_pending_rows_event(this, 0,
+                                                          is_transactional);
   }
 
   DBUG_RETURN(error);
@@ -3890,8 +3895,8 @@ show_query_type(THD::enum_binlog_query_t
     Error code, or 0 if no error.
 */
 int THD::binlog_query(THD::enum_binlog_query_type qtype, char const *query_arg,
-                      ulong query_len, bool is_trans, bool suppress_use,
-                      int errcode)
+                      ulong query_len, bool is_trans, bool suppress_use, 
+                      bool direct, int errcode)
 {
   DBUG_ENTER("THD::binlog_query");
   DBUG_PRINT("enter", ("qtype: %s  query: '%s'",
@@ -3908,7 +3913,7 @@ int THD::binlog_query(THD::enum_binlog_q
     top-most close_thread_tables().
   */
   if (this->locked_tables_mode <= LTM_LOCK_TABLES)
-    if (int error= binlog_flush_pending_rows_event(TRUE))
+    if (int error= binlog_flush_pending_rows_event(TRUE, is_trans))
       DBUG_RETURN(error);
 
   /*
@@ -3968,7 +3973,7 @@ int THD::binlog_query(THD::enum_binlog_q
         log event is written to the binary log, we pretend that no
         table maps were written.
        */
-      int error= mysql_bin_log.write(&qinfo);
+      int error= mysql_bin_log.write(&qinfo, direct);
       binlog_table_maps= 0;
       DBUG_RETURN(error);
     }

=== modified file 'sql/sql_class.h'
--- a/sql/sql_class.h	2009-08-31 20:25:11 +0000
+++ b/sql/sql_class.h	2009-09-08 11:25:50 +0000
@@ -1624,10 +1624,15 @@ public:
                                       size_t needed,
                                       bool is_transactional,
 				      RowsEventT* hint);
-  Rows_log_event* binlog_get_pending_rows_event() const;
-  void            binlog_set_pending_rows_event(Rows_log_event* ev);
-  int binlog_flush_pending_rows_event(bool stmt_end);
-  int binlog_remove_pending_rows_event(bool clear_maps);
+  Rows_log_event* binlog_get_pending_rows_event(bool is_transactional) const;
+  void binlog_set_pending_rows_event(Rows_log_event* ev, bool is_transactional);
+  inline int binlog_flush_pending_rows_event(bool stmt_end)
+  {
+    return (binlog_flush_pending_rows_event(stmt_end, FALSE) || 
+            binlog_flush_pending_rows_event(stmt_end, TRUE));
+  }
+  int binlog_flush_pending_rows_event(bool stmt_end, bool is_transactional);
+  int binlog_remove_pending_rows_event(bool clear_maps, bool is_transactional);
 
 private:
   /*
@@ -2145,7 +2150,7 @@ public:
   int binlog_query(enum_binlog_query_type qtype,
                    char const *query, ulong query_len,
                    bool is_trans, bool suppress_use,
-                   int errcode);
+                   bool direct, int errcode);
 #endif
 
   /*

=== modified file 'sql/sql_delete.cc'
--- a/sql/sql_delete.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_delete.cc	2009-09-08 11:25:50 +0000
@@ -394,7 +394,8 @@ cleanup:
   transactional_table= table->file->has_transactions();
 
   if (!transactional_table && deleted > 0)
-    thd->transaction.stmt.modified_non_trans_table= TRUE;
+    thd->transaction.stmt.modified_non_trans_table=
+      thd->transaction.all.modified_non_trans_table= TRUE;
   
   /* See similar binlogging code in sql_update.cc, for comments */
   if ((error < 0) || thd->transaction.stmt.modified_non_trans_table)
@@ -423,16 +424,14 @@ cleanup:
       */
       int log_result= thd->binlog_query(query_type,
                                         thd->query, thd->query_length,
-                                        is_trans, FALSE, errcode);
-
+                                        is_trans, FALSE, FALSE, errcode);
       if (log_result)
       {
 	error=1;
       }
     }
-    if (thd->transaction.stmt.modified_non_trans_table)
-      thd->transaction.all.modified_non_trans_table= TRUE;
   }
+
   DBUG_ASSERT(transactional_table || !deleted || thd->transaction.stmt.modified_non_trans_table);
   free_underlaid_joins(thd, select_lex);
 
@@ -840,6 +839,9 @@ void multi_delete::abort()
   if (deleted)
     query_cache_invalidate3(thd, delete_tables, 1);
 
+  if (thd->transaction.stmt.modified_non_trans_table)
+    thd->transaction.all.modified_non_trans_table= TRUE;
+
   /*
     If rows from the first table only has been deleted and it is
     transactional, just do rollback.
@@ -870,10 +872,10 @@ void multi_delete::abort()
       int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
       thd->binlog_query(THD::ROW_QUERY_TYPE,
                         thd->query, thd->query_length,
-                        transactional_tables, FALSE, errcode);
+                        transactional_tables, FALSE, FALSE, errcode);
     }
-    thd->transaction.all.modified_non_trans_table= true;
   }
+  
   DBUG_VOID_RETURN;
 }
 
@@ -999,6 +1001,9 @@ bool multi_delete::send_eof()
   /* reset used flags */
   thd_proc_info(thd, "end");
 
+  if (thd->transaction.stmt.modified_non_trans_table)
+    thd->transaction.all.modified_non_trans_table= TRUE;
+
   /*
     We must invalidate the query cache before binlog writing and
     ha_autocommit_...
@@ -1018,15 +1023,14 @@ bool multi_delete::send_eof()
         errcode= query_error_code(thd, killed_status == THD::NOT_KILLED);
       if (thd->binlog_query(THD::ROW_QUERY_TYPE,
                             thd->query, thd->query_length,
-                            transactional_tables, FALSE, errcode) &&
+                            transactional_tables, FALSE, FALSE, errcode) &&
           !normal_tables)
       {
 	local_error=1;  // Log write failed: roll back the SQL statement
       }
     }
-    if (thd->transaction.stmt.modified_non_trans_table)
-      thd->transaction.all.modified_non_trans_table= TRUE;
   }
+
   if (local_error != 0)
     error_handled= TRUE; // to force early leave from ::send_error()
 

=== modified file 'sql/sql_insert.cc'
--- a/sql/sql_insert.cc	2009-09-04 07:07:26 +0000
+++ b/sql/sql_insert.cc	2009-09-08 11:25:50 +0000
@@ -880,6 +880,10 @@ bool mysql_insert(THD *thd,TABLE_LIST *t
       */
       query_cache_invalidate3(thd, table_list, 1);
     }
+
+    if (thd->transaction.stmt.modified_non_trans_table)
+      thd->transaction.all.modified_non_trans_table= TRUE;
+
     if ((changed && error <= 0) ||
         thd->transaction.stmt.modified_non_trans_table ||
 	was_insert_delayed)
@@ -919,14 +923,12 @@ bool mysql_insert(THD *thd,TABLE_LIST *t
 	DBUG_ASSERT(thd->killed != THD::KILL_BAD_DATA || error > 0);
 	if (thd->binlog_query(THD::ROW_QUERY_TYPE,
 			      thd->query, thd->query_length,
-			      transactional_table, FALSE,
+			      transactional_table, FALSE, FALSE,
 			      errcode))
         {
 	  error=1;
 	}
       }
-      if (thd->transaction.stmt.modified_non_trans_table)
-	thd->transaction.all.modified_non_trans_table= TRUE;
     }
     DBUG_ASSERT(transactional_table || !changed || 
                 thd->transaction.stmt.modified_non_trans_table);
@@ -2638,6 +2640,7 @@ bool Delayed_insert::handle_inserts(void
 {
   int error;
   ulong max_rows;
+  bool has_trans = TRUE;
   bool using_ignore= 0, using_opt_replace= 0,
        using_bin_log= mysql_bin_log.is_open();
   delayed_row *row;
@@ -2790,7 +2793,7 @@ bool Delayed_insert::handle_inserts(void
       */
       thd.binlog_query(THD::ROW_QUERY_TYPE,
                        row->query.str, row->query.length,
-                       FALSE, FALSE, errcode);
+                       FALSE, FALSE, FALSE, errcode);
 
       thd.time_zone_used = backup_time_zone_used;
       thd.variables.time_zone = backup_time_zone;
@@ -2859,8 +2862,10 @@ bool Delayed_insert::handle_inserts(void
 
     TODO: Move the logging to last in the sequence of rows.
    */
+  has_trans= thd.lex->sql_command == SQLCOM_CREATE_TABLE ||
+                        table->file->has_transactions();
   if (thd.current_stmt_binlog_row_based)
-    thd.binlog_flush_pending_rows_event(TRUE);
+    thd.binlog_flush_pending_rows_event(TRUE, has_trans);
 
   if ((error=table->file->extra(HA_EXTRA_NO_CACHE)))
   {						// This shouldn't happen
@@ -3301,9 +3306,11 @@ bool select_insert::send_eof()
       and ha_autocommit_or_rollback.
     */
     query_cache_invalidate3(thd, table, 1);
-    if (thd->transaction.stmt.modified_non_trans_table)
-      thd->transaction.all.modified_non_trans_table= TRUE;
   }
+
+  if (thd->transaction.stmt.modified_non_trans_table)
+    thd->transaction.all.modified_non_trans_table= TRUE;
+
   DBUG_ASSERT(trans_table || !changed || 
               thd->transaction.stmt.modified_non_trans_table);
 
@@ -3322,7 +3329,7 @@ bool select_insert::send_eof()
       errcode= query_error_code(thd, killed_status == THD::NOT_KILLED);
     thd->binlog_query(THD::ROW_QUERY_TYPE,
                       thd->query, thd->query_length,
-                      trans_table, FALSE, errcode);
+                      trans_table, FALSE, FALSE, errcode);
   }
   table->file->ha_release_auto_increment();
 
@@ -3396,13 +3403,18 @@ void select_insert::abort() {
         {
           int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
           thd->binlog_query(THD::ROW_QUERY_TYPE, thd->query, thd->query_length,
-                            transactional_table, FALSE, errcode);
+                            transactional_table, FALSE, FALSE, errcode);
         }
+        /*
+          Alfranio: I am not sure which is the intention of the code below.
+        */
         if (!thd->current_stmt_binlog_row_based && !can_rollback_data())
           thd->transaction.all.modified_non_trans_table= TRUE;
+
 	if (changed)
 	  query_cache_invalidate3(thd, table, 1);
     }
+    
     DBUG_ASSERT(transactional_table || !changed ||
 		thd->transaction.stmt.modified_non_trans_table);
     table->file->ha_release_auto_increment();
@@ -3832,6 +3844,7 @@ select_create::binlog_show_create_table(
                       query.ptr(), query.length(),
                       /* is_trans */ TRUE,
                       /* suppress_use */ FALSE,
+                      /* direct binlog */ FALSE,
                       errcode);
   }
 }
@@ -3932,7 +3945,7 @@ void select_create::abort()
   thd->transaction.stmt.modified_non_trans_table= FALSE;
   trans_rollback_stmt(thd);
   reenable_binlog(thd);
-  thd->binlog_flush_pending_rows_event(TRUE);
+  thd->binlog_flush_pending_rows_event(TRUE, TRUE);
 
   if (m_plock)
   {

=== modified file 'sql/sql_load.cc'
--- a/sql/sql_load.cc	2009-07-31 19:46:24 +0000
+++ b/sql/sql_load.cc	2009-09-08 11:25:50 +0000
@@ -569,7 +569,7 @@ int mysql_load(THD *thd,sql_exchange *ex
       after this point.
      */
     if (thd->current_stmt_binlog_row_based)
-      thd->binlog_flush_pending_rows_event(true);
+      thd->binlog_flush_pending_rows_event(TRUE, transactional_table);
     else
     {
       /*

=== modified file 'sql/sql_parse.cc'
--- a/sql/sql_parse.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_parse.cc	2009-09-08 11:25:50 +0000
@@ -3200,7 +3200,7 @@ end_with_restore_list:
       if (incident)
       {
         Incident_log_event ev(thd, incident);
-        mysql_bin_log.write(&ev);
+        mysql_bin_log.write(&ev, TRUE);
         mysql_bin_log.rotate_and_purge(RP_FORCE_ROTATE);
       }
       DBUG_PRINT("debug", ("Just after generate_incident()"));

=== modified file 'sql/sql_table.cc'
--- a/sql/sql_table.cc	2009-09-03 17:46:07 +0000
+++ b/sql/sql_table.cc	2009-09-08 11:25:50 +0000
@@ -1742,7 +1742,7 @@ void write_bin_log(THD *thd, bool clear_
     else
       errcode= query_error_code(thd, TRUE);
     thd->binlog_query(THD::STMT_QUERY_TYPE,
-                      query, query_length, FALSE, FALSE, errcode);
+                      query, query_length, FALSE, FALSE, FALSE, errcode);
   }
 }
 

=== modified file 'sql/sql_update.cc'
--- a/sql/sql_update.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_update.cc	2009-09-08 11:25:50 +0000
@@ -803,6 +803,9 @@ int mysql_update(THD *thd,
   {
     query_cache_invalidate3(thd, table_list, 1);
   }
+  
+  if (thd->transaction.stmt.modified_non_trans_table)
+      thd->transaction.all.modified_non_trans_table= TRUE;
 
   /*
     error < 0 means really no error at all: we processed all rows until the
@@ -825,14 +828,13 @@ int mysql_update(THD *thd,
 
       if (thd->binlog_query(THD::ROW_QUERY_TYPE,
                             thd->query, thd->query_length,
-                            transactional_table, FALSE, errcode))
+                            transactional_table, FALSE, FALSE, errcode))
       {
         error=1;				// Rollback update
       }
     }
-    if (thd->transaction.stmt.modified_non_trans_table)
-      thd->transaction.all.modified_non_trans_table= TRUE;
   }
+
   DBUG_ASSERT(transactional_table || !updated || thd->transaction.stmt.modified_non_trans_table);
   free_underlaid_joins(thd, select_lex);
 
@@ -1751,10 +1753,10 @@ bool multi_update::send_data(List<Item> 
           /* non-transactional or transactional table got modified   */
           /* either multi_update class' flag is raised in its branch */
           if (table->file->has_transactions())
-            transactional_tables= 1;
+            transactional_tables= TRUE;
           else
           {
-            trans_safe= 0;
+            trans_safe= FALSE;
             thd->transaction.stmt.modified_non_trans_table= TRUE;
           }
         }
@@ -1871,10 +1873,11 @@ void multi_update::abort()
       int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
       thd->binlog_query(THD::ROW_QUERY_TYPE,
                         thd->query, thd->query_length,
-                        transactional_tables, FALSE, errcode);
+                        transactional_tables, FALSE, FALSE, errcode);
     }
     thd->transaction.all.modified_non_trans_table= TRUE;
   }
+ 
   DBUG_ASSERT(trans_safe || !updated || thd->transaction.stmt.modified_non_trans_table);
 }
 
@@ -2009,10 +2012,10 @@ int multi_update::do_updates()
     if (updated != org_updated)
     {
       if (table->file->has_transactions())
-        transactional_tables= 1;
+        transactional_tables= TRUE;
       else
       {
-        trans_safe= 0;				// Can't do safe rollback
+        trans_safe= FALSE;				// Can't do safe rollback
         thd->transaction.stmt.modified_non_trans_table= TRUE;
       }
     }
@@ -2041,10 +2044,10 @@ err2:
   if (updated != org_updated)
   {
     if (table->file->has_transactions())
-      transactional_tables= 1;
+      transactional_tables= TRUE;
     else
     {
-      trans_safe= 0;
+      trans_safe= FALSE;
       thd->transaction.stmt.modified_non_trans_table= TRUE;
     }
   }
@@ -2090,8 +2093,9 @@ bool multi_update::send_eof()
     either from the query's list or via a stored routine: bug#13270,23333
   */
 
-  DBUG_ASSERT(trans_safe || !updated || 
-              thd->transaction.stmt.modified_non_trans_table);
+  if (thd->transaction.stmt.modified_non_trans_table)
+    thd->transaction.all.modified_non_trans_table= TRUE;
+
   if (local_error == 0 || thd->transaction.stmt.modified_non_trans_table)
   {
     if (mysql_bin_log.is_open())
@@ -2103,14 +2107,16 @@ bool multi_update::send_eof()
         errcode= query_error_code(thd, killed_status == THD::NOT_KILLED);
       if (thd->binlog_query(THD::ROW_QUERY_TYPE,
                             thd->query, thd->query_length,
-                            transactional_tables, FALSE, errcode))
+                            transactional_tables, FALSE, FALSE, errcode))
       {
 	local_error= 1;				// Rollback update
       }
     }
-    if (thd->transaction.stmt.modified_non_trans_table)
-      thd->transaction.all.modified_non_trans_table= TRUE;
   }
+
+  DBUG_ASSERT(trans_safe || !updated || 
+              thd->transaction.stmt.modified_non_trans_table);
+
   if (local_error != 0)
     error_handled= TRUE; // to force early leave from ::send_error()
 

=== modified file 'sql/sql_view.cc'
--- a/sql/sql_view.cc	2009-08-31 20:25:11 +0000
+++ b/sql/sql_view.cc	2009-09-08 11:25:50 +0000
@@ -661,8 +661,9 @@ bool mysql_create_view(THD *thd, TABLE_L
     buff.append(views->source.str, views->source.length);
 
     int errcode= query_error_code(thd, TRUE);
-    thd->binlog_query(THD::STMT_QUERY_TYPE,
-                      buff.ptr(), buff.length(), FALSE, FALSE, errcode);
+    thd->binlog_query(THD::STMT_QUERY_TYPE, 
+                      buff.ptr(), buff.length(), FALSE, FALSE, 
+                      FALSE, errcode);
   }
 
   pthread_mutex_unlock(&LOCK_open);

Attachment: [text/bzr-bundle]
Thread
bzr commit into mysql-pe branch (alfranio.correia:3510) WL#2687Alfranio Correia8 Sep