diff options
author | unknown <knielsen@knielsen-hq.org> | 2011-05-03 14:01:11 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2011-05-03 14:01:11 +0200 |
commit | 014b8e7f435e495151fe0ef2cfd5e93d1a398ce5 (patch) | |
tree | b432f6305fe79b126a19fa03124d28a7a2f05cbe /mysql-test | |
parent | d02d52629d2eda10a50079001a79d50bf3d528cd (diff) | |
download | mariadb-git-014b8e7f435e495151fe0ef2cfd5e93d1a398ce5.tar.gz |
Backport MySQL WL#2540 into MariaDB.
Patch backported:
bzr diff
'-rrevid:alfranio.correia@oracle.com-20101121143257-se3vpqus73l4mum0
..revid:luis.soares@oracle.com-20101124111752-9b8260bd1qak87hr'
--old=lp:mysql-server --new=lp:mysql-server
Diffstat (limited to 'mysql-test')
46 files changed, 1526 insertions, 1073 deletions
diff --git a/mysql-test/collections/mysql-next-mr-wl2540.push b/mysql-test/collections/mysql-next-mr-wl2540.push new file mode 100644 index 00000000000..2eb41427687 --- /dev/null +++ b/mysql-test/collections/mysql-next-mr-wl2540.push @@ -0,0 +1,6 @@ +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_checksum --mysqld=--binlog-checksum=CRC32 --vardir=var-rpl_binlog_checksum --suite=binlog,rpl --skip-test-list=collections/disabled-per-push.list +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --mysqld=--binlog-format=row --suite=rpl,binlog --skip-test-list=collections/disabled-per-push.list +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 diff --git a/mysql-test/collections/mysql-trunk.daily b/mysql-test/collections/mysql-trunk.daily new file mode 100644 index 00000000000..47d189a2c65 --- /dev/null +++ b/mysql-test/collections/mysql-trunk.daily @@ -0,0 +1,7 @@ +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 +perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_ndb_row --vardir=var-rpl_ndb_row --mysqld=--binlog-format=row --suite=rpl_ndb,ndb +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --mysqld=--binlog-format=row --suite=rpl,binlog --skip-ndb +perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_checksum --mysqld=--binlog-checksum=CRC32 --vardir=var-rpl_binlog_checksum --suite=binlog,rpl diff --git a/mysql-test/collections/mysql-trunk.weekly b/mysql-test/collections/mysql-trunk.weekly new file mode 100644 index 00000000000..7186ad422b0 --- /dev/null +++ b/mysql-test/collections/mysql-trunk.weekly @@ -0,0 +1,2 @@ +perl mysql-test-run.pl --timer --force --comment=1st --experimental=collections/default.experimental 1st +perl mysql-test-run.pl --timer --force --comment=all_binlog_checksum --experimental=collections/default.experimental --mysqld=--binlog-checksum=CRC32 --vardir=var-all_binlog_checksum --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema diff --git a/mysql-test/extra/binlog_tests/binlog.test b/mysql-test/extra/binlog_tests/binlog.test index fd6ba1c17fa..4a12bba3eb2 100644 --- a/mysql-test/extra/binlog_tests/binlog.test +++ b/mysql-test/extra/binlog_tests/binlog.test @@ -83,17 +83,22 @@ set @bcs = @@binlog_cache_size; set global binlog_cache_size=4096; reset master; -create table t1 (a int) engine=innodb; +create table t1 (a int, b char(255)) engine=innodb; + +flush status; +show status like "binlog_cache_use"; -let $1=400; +let $1=100; disable_query_log; begin; while ($1) { - eval insert into t1 values( $1 ); + eval insert into t1 values( $1, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ); dec $1; } commit; +--echo *** the following must show the counter value = 1 *** +show status like "binlog_cache_use"; enable_query_log; --source include/show_binlog_events.inc diff --git a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test index 96c85e024e9..c7e7a491ce1 100644 --- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test +++ b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test @@ -311,6 +311,7 @@ select get_lock("a",10); begin; insert into t1 values(8); insert into t2 select * from t1; + disconnect con3; connection con4; diff --git a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test index 06253c5defb..5cbda2d591f 100644 --- a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test +++ b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test @@ -15,6 +15,7 @@ create table t3 (a int) engine=merge union(t1); create table t4 (a int); # We force the slave to open t3 (because we want to try confusing him) with this : insert into t4 select * from t3; +--let $rename_event_pos= query_get_value(SHOW MASTER STATUS, Position, 1) 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. diff --git a/mysql-test/extra/rpl_tests/rpl_reset_slave.test b/mysql-test/extra/rpl_tests/rpl_reset_slave.test index 04ab8751e39..182fde40193 100644 --- a/mysql-test/extra/rpl_tests/rpl_reset_slave.test +++ b/mysql-test/extra/rpl_tests/rpl_reset_slave.test @@ -10,6 +10,9 @@ -- source include/master-slave.inc sync_slave_with_master; +--disable_query_log +call mtr.add_suppression('Slave I/O: Get master BINLOG_CHECKSUM failed with error'); +--enable_query_log let $status_items= Master_User, Master_Host; source include/show_slave_status.inc; diff --git a/mysql-test/include/binlog_start_pos.inc b/mysql-test/include/binlog_start_pos.inc index f6d1c4c68a3..add5a42a426 100644 --- a/mysql-test/include/binlog_start_pos.inc +++ b/mysql-test/include/binlog_start_pos.inc @@ -11,16 +11,18 @@ # Format_description_log_event length = # 19 /* event common header */ + # 57 /* misc stuff in the Format description header */ + -# number of events. +# number of events + +# 1 /* Checksum algorithm */ + +# 4 /* CRC32 length */ # # With current number of events = 160, # -# binlog_start_pos = 4 + 19 + 57 + 160 = 240. +# binlog_start_pos = 4 + 19 + 57 + 160 + 1 + 4 = 245. # ############################################################################## -let $binlog_start_pos=240; +let $binlog_start_pos=245; --disable_query_log -SET @binlog_start_pos=240; +SET @binlog_start_pos=245; --enable_query_log diff --git a/mysql-test/include/have_binlog_checksum_off.inc b/mysql-test/include/have_binlog_checksum_off.inc new file mode 100644 index 00000000000..c7c444c8785 --- /dev/null +++ b/mysql-test/include/have_binlog_checksum_off.inc @@ -0,0 +1,4 @@ +if (`select variable_value not like 'NONE' from information_schema.GLOBAL_VARIABLES + where variable_name='binlog_checksum'`){ + skip Can not run the test when server activated checksumming; +} diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql index 39ba623f247..caa07b6d5ae 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql @@ -209,6 +209,9 @@ INSERT INTO global_suppressions VALUES ("Slave I/O: Get master clock failed with error:.*"), ("Slave I/O: Get master COLLATION_SERVER failed with error:.*"), ("Slave I/O: Get master TIME_ZONE failed with error:.*"), + ("Slave I/O: The slave I/O thread stops because a fatal error is encountered when it tried to SET @master_binlog_checksum on master.*"), + ("Slave I/O: Get master BINLOG_CHECKSUM failed with error.*"), + ("Slave I/O: Notifying master by SET @master_binlog_checksum= @@global.binlog_checksum failed with error.*"), ("THE_LAST_SUPPRESSION")|| diff --git a/mysql-test/include/show_binlog_events2.inc b/mysql-test/include/show_binlog_events2.inc index 96e42e93f90..c32d12537fd 100644 --- a/mysql-test/include/show_binlog_events2.inc +++ b/mysql-test/include/show_binlog_events2.inc @@ -1,4 +1,4 @@ ---let $binlog_start=240 +--let $binlog_start=245 --replace_result $binlog_start <binlog_start> --replace_column 2 # 5 # --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ diff --git a/mysql-test/r/mysqldump-max.result b/mysql-test/r/mysqldump-max.result index cc5fe207800..6722f308358 100644 --- a/mysql-test/r/mysqldump-max.result +++ b/mysql-test/r/mysqldump-max.result @@ -334,10 +334,10 @@ DROP TABLE t1; DROP TABLE t2; SHOW BINLOG EVENTS LIMIT 6,3; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 658 Query 1 726 BEGIN -master-bin.000001 726 Query 1 823 use `test`; INSERT INTO t2 VALUES (1,0), (2,0) -master-bin.000001 823 Xid 1 850 COMMIT /* XID */ --- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=850; +master-bin.000001 663 Query 1 731 BEGIN +master-bin.000001 731 Query 1 828 use `test`; INSERT INTO t2 VALUES (1,0), (2,0) +master-bin.000001 828 Xid 1 855 COMMIT /* XID */ +-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=855; SELECT * FROM t1 ORDER BY a; a 1 diff --git a/mysql-test/suite/binlog/r/binlog_checksum.result b/mysql-test/suite/binlog/r/binlog_checksum.result new file mode 100644 index 00000000000..44024456720 --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_checksum.result @@ -0,0 +1,23 @@ +set @save_binlog_checksum = @@global.binlog_checksum; +set @save_master_verify_checksum = @@global.master_verify_checksum; +set @@global.binlog_checksum = CRC32; +set @@global.master_verify_checksum = 1; +reset master; +must be master-bin.000001 +show binary logs; +Log_name File_size +master-bin.000001 # +create table t1 (a int); +flush logs; +drop table 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 # Rotate # # master-bin.000002;pos=4 +show tables; +Tables_in_test +t1 +drop table t1; +set @@global.binlog_checksum = @save_binlog_checksum; +set @@global.master_verify_checksum = @save_master_verify_checksum; +End of the tests diff --git a/mysql-test/suite/binlog/r/binlog_killed.result b/mysql-test/suite/binlog/r/binlog_killed.result index 72fda535b6f..c71640a31e0 100644 --- a/mysql-test/suite/binlog/r/binlog_killed.result +++ b/mysql-test/suite/binlog/r/binlog_killed.result @@ -6,6 +6,11 @@ get_lock("a", 20) 1 reset master; insert into t2 values (null, null), (null, get_lock("a", 10)); +kill query ID; +select +(@a:=load_file("MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog")) +is not null; +set @result= 2 - 1 - 1; select @result /* must be zero either way */; @result 0 @@ -84,18 +89,19 @@ a b select @b /* must be 1 at the end of a stmt calling bug27563() */; @b 1 -must have the update query event more to FD +must have the update query event on the 3th line show binlog events from <binlog_start>; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # User var # # @`b`=0 master-bin.000001 # Query # # use `test`; update t4 set b=b + bug27563(b) +*** a proof the query is binlogged with an error *** select (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) is not null; (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) is not null 1 -select 0 /* must return 0 to mean the killed query is in */; +select 0 /* must return 0 to mean the killed update is in */; 0 0 select RELEASE_LOCK("a"); @@ -120,7 +126,7 @@ count(*) select @b /* must be 1 at the end of a stmt calling bug27563() */; @b 1 -must have the delete query event more to FD +must have the delete query event on the 3th line show binlog events from <binlog_start>; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # User var # # @`b`=0 @@ -131,7 +137,7 @@ is not null; (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) is not null 1 -select 0 /* must return 0 to mean the killed query is in */; +select 0 /* must return 0 to mean the killed delete is in */; 0 0 select RELEASE_LOCK("a"); diff --git a/mysql-test/suite/binlog/r/binlog_row_binlog.result b/mysql-test/suite/binlog/r/binlog_row_binlog.result index 1678f8add58..5401e6de24e 100644 --- a/mysql-test/suite/binlog/r/binlog_row_binlog.result +++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result @@ -260,10 +260,18 @@ master-bin.000001 # Query # # use `test`; drop table t1 set @bcs = @@binlog_cache_size; set global binlog_cache_size=4096; reset master; -create table t1 (a int) engine=innodb; +create table t1 (a int, b char(255)) engine=innodb; +flush status; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 0 +*** the following must show the counter value = 1 *** +Variable_name Value +Binlog_cache_use 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 (a int) engine=innodb +master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb +master-bin.000001 # Query # # use `test`; flush status 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 @@ -465,606 +473,6 @@ 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # Xid # # COMMIT /* XID */ master-bin.000001 # Rotate # # master-bin.000002;pos=4 drop table t1; diff --git a/mysql-test/suite/binlog/r/binlog_stm_binlog.result b/mysql-test/suite/binlog/r/binlog_stm_binlog.result index 92531d9fb54..020f2d068fb 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result +++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result @@ -168,411 +168,119 @@ master-bin.000001 # Query # # use `test`; drop table t1 set @bcs = @@binlog_cache_size; set global binlog_cache_size=4096; reset master; -create table t1 (a int) engine=innodb; +create table t1 (a int, b char(255)) engine=innodb; +flush status; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 0 +*** the following must show the counter value = 1 *** +Variable_name Value +Binlog_cache_use 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 (a int) engine=innodb +master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb +master-bin.000001 # Query # # use `test`; flush status master-bin.000001 # Query # # BEGIN -master-bin.000001 # Query # # use `test`; insert into t1 values( 400 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 399 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 398 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 397 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 396 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 395 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 394 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 393 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 392 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 391 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 390 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 389 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 388 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 387 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 386 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 385 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 384 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 383 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 382 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 381 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 380 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 379 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 378 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 377 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 376 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 375 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 374 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 373 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 372 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 371 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 370 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 369 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 368 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 367 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 366 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 365 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 364 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 363 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 362 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 361 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 360 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 359 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 358 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 357 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 356 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 355 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 354 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 353 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 352 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 351 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 350 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 349 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 348 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 347 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 346 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 345 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 344 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 343 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 342 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 341 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 340 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 339 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 338 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 337 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 336 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 335 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 334 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 333 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 332 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 331 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 330 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 329 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 328 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 327 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 326 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 325 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 324 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 323 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 322 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 321 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 320 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 319 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 318 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 317 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 316 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 315 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 314 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 313 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 312 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 311 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 310 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 309 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 308 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 307 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 306 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 305 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 304 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 303 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 302 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 301 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 300 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 299 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 298 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 297 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 296 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 295 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 294 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 293 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 292 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 291 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 290 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 289 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 288 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 287 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 286 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 285 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 284 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 283 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 282 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 281 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 280 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 279 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 278 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 277 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 276 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 275 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 274 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 273 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 272 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 271 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 270 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 269 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 268 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 267 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 266 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 265 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 264 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 263 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 262 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 261 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 260 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 259 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 258 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 257 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 256 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 255 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 254 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 253 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 252 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 251 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 250 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 249 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 248 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 247 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 246 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 245 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 244 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 243 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 242 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 241 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( <binlog_start> ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 239 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 238 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 237 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 236 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 235 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 234 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 233 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 232 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 231 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 230 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 229 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 228 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 227 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 226 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 225 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 224 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 223 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 222 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 221 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 220 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 219 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 218 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 217 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 216 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 215 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 214 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 213 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 212 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 211 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 210 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 209 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 208 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 207 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 206 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 205 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 204 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 203 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 202 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 201 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 200 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 199 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 198 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 197 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 196 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 195 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 194 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 193 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 192 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 191 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 190 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 189 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 188 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 187 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 186 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 185 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 184 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 183 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 182 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 181 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 180 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 179 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 178 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 177 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 176 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 175 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 174 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 173 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 172 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 171 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 170 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 169 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 168 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 167 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 166 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 165 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 164 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 163 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 162 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 161 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 160 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 159 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 158 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 157 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 156 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 155 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 154 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 153 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 152 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 151 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 150 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 149 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 148 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 147 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 146 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 145 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 144 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 143 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 142 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 141 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 140 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 139 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 138 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 137 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 136 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 135 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 134 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 133 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 132 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 131 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 130 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 129 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 128 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 127 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 126 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 125 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 124 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 123 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 122 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 121 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 120 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 119 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 118 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 117 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 116 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 115 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 114 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 113 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 112 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 111 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 110 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 109 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 108 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 107 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 106 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 105 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 104 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 103 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 102 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 101 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 100 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 99 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 98 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 97 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 96 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 95 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 94 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 93 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 92 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 91 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 90 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 89 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 88 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 87 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 86 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 85 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 84 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 83 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 82 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 81 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 80 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 79 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 78 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 77 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 76 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 75 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 74 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 73 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 72 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 71 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 70 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 69 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 68 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 67 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 66 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 65 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 64 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 63 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 62 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 61 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 60 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 59 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 58 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 57 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 56 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 55 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 54 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 53 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 52 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 51 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 50 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 49 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 48 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 47 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 46 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 45 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 44 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 43 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 42 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 41 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 40 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 39 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 38 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 37 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 36 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 35 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 34 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 33 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 32 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 31 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 30 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 29 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 28 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 27 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 26 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 25 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 24 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 23 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 22 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 21 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 20 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 19 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 18 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 17 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 16 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 15 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 14 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 13 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 12 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 11 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 10 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 9 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 8 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 7 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 6 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 5 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 4 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 3 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 2 ) -master-bin.000001 # Query # # use `test`; insert into t1 values( 1 ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 100, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 99, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 98, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 97, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 96, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 95, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 94, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 93, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 92, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 91, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 90, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 89, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 88, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 87, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 86, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 85, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 84, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 83, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 82, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 81, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 80, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 79, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 78, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 77, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 76, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 75, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 74, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 73, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 72, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 71, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 70, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 69, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 68, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 67, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 66, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 65, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 64, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 63, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 62, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 61, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 60, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 59, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 58, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 57, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 56, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 55, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 54, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 53, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 52, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 51, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 50, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 49, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 48, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 47, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 46, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 45, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 44, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 43, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 42, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 41, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 40, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 39, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 38, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 37, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 36, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 35, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 34, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 33, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 32, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 31, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 30, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 29, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 28, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 27, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 26, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 25, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 24, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 23, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 22, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 21, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 20, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 19, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 18, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 17, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 16, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 15, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 14, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 13, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 12, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 11, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 10, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 9, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 8, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 7, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 6, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 5, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 4, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 3, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 2, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) +master-bin.000001 # Query # # use `test`; insert into t1 values( 1, 'just to fill void to make transaction occupying at least two buffers of the trans cache' ) master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Rotate # # master-bin.000002;pos=4 drop table t1; diff --git a/mysql-test/suite/binlog/t/binlog_checksum.test b/mysql-test/suite/binlog/t/binlog_checksum.test new file mode 100644 index 00000000000..7ecb9308f70 --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_checksum.test @@ -0,0 +1,37 @@ +source include/have_innodb.inc; +source include/have_log_bin.inc; + +# +# WL#2540 replication event checksum +# +# Objectives of the test are: +# to demo binlog events with CRC32 checksum in them and +# to prove show binlog events and mysqlbinlog are capable to handle +# the checksum. +# + +set @save_binlog_checksum = @@global.binlog_checksum; +set @save_master_verify_checksum = @@global.master_verify_checksum; +set @@global.binlog_checksum = CRC32; +set @@global.master_verify_checksum = 1; +let $MYSQLD_DATADIR= `select @@datadir`; + +reset master; +--echo must be master-bin.000001 +--source include/show_binary_logs.inc + +create table t1 (a int); +flush logs; +drop table t1; + +--source include/show_binlog_events.inc +--exec $MYSQL_BINLOG -c $MYSQLD_DATADIR/master-bin.000001 | $MYSQL +show tables; + +# clean-up + +drop table t1; +set @@global.binlog_checksum = @save_binlog_checksum; +set @@global.master_verify_checksum = @save_master_verify_checksum; + +--echo End of the tests diff --git a/mysql-test/suite/binlog/t/binlog_killed.test b/mysql-test/suite/binlog/t/binlog_killed.test index a2bd7d8095a..f0938d9f6b4 100644 --- a/mysql-test/suite/binlog/t/binlog_killed.test +++ b/mysql-test/suite/binlog/t/binlog_killed.test @@ -40,10 +40,15 @@ send insert into t2 values (null, null), (null, get_lock("a", 10)); connection con1; -disable_abort_on_error; -disable_query_log; -disable_result_log; +--disable_abort_on_error +--disable_warnings + +let $wait_condition= + select count(*) = 1 from information_schema.processlist + where info like "%insert into t2 values%" and state like 'User lock'; +--source include/wait_condition.inc +--replace_regex /[0-9]+/ID/ eval kill query $ID; connection con2; @@ -52,20 +57,23 @@ reap; let $rows= `select count(*) from t2 /* must be 2 or 0 */`; let $MYSQLD_DATADIR= `select @@datadir`; -let $start_pos= `select @binlog_start_pos + 28`; ---exec $MYSQL_BINLOG --force-if-open --start-position=$start_pos $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog + +--let $binlog_killed_pos=query_get_value(SHOW BINLOG EVENTS, Pos, 3) +--let $binlog_killed_end_log_pos=query_get_value(SHOW BINLOG EVENTS, End_log_pos, 3) +--exec $MYSQL_BINLOG --force-if-open --start-position=$binlog_killed_pos --stop-position=$binlog_killed_end_log_pos $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--disable_result_log eval select (@a:=load_file("$MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog")) is not null; +--enable_result_log --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR let $error_code= `select @a like "%#%error_code=0%" /* must return 1 or 0*/`; let $insert_binlogged= `select @a like "%insert into%" /* must return 1 or 0 */`; -eval set @result= $rows- $error_code - $insert_binlogged; +eval set @result= $rows - $error_code - $insert_binlogged; -enable_abort_on_error; -enable_query_log; -enable_result_log; +--enable_warnings +--enable_abort_on_error select @result /* must be zero either way */; @@ -259,19 +267,21 @@ connection con2; reap; select * from t4 order by b /* must be (1,1), (1,2) */; select @b /* must be 1 at the end of a stmt calling bug27563() */; ---echo must have the update query event more to FD +--echo must have the update query event on the 3th line source include/show_binlog_events.inc; +--let $binlog_killed_pos= query_get_value(SHOW BINLOG EVENTS, Pos, 3) +--let $binlog_killed_end_log_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 3) -# a proof the query is binlogged with an error +--echo *** a proof the query is binlogged with an error *** ---exec $MYSQL_BINLOG --force-if-open --start-position=106 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog +--exec $MYSQL_BINLOG --force-if-open --start-position=$binlog_killed_pos --stop-position=$binlog_killed_end_log_pos $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")) is not null; --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`; -eval select $error_code /* must return 0 to mean the killed query is in */; +eval select $error_code /* must return 0 to mean the killed update is in */; # cleanup for the sub-case connection con1; @@ -305,19 +315,21 @@ connection con2; reap; select count(*) from t4 /* must be 1 */; select @b /* must be 1 at the end of a stmt calling bug27563() */; ---echo must have the delete query event more to FD +--echo must have the delete query event on the 3th line source include/show_binlog_events.inc; +--let $binlog_killed_pos= query_get_value(SHOW BINLOG EVENTS, Pos, 3) +--let $binlog_killed_end_log_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 3) # a proof the query is binlogged with an error ---exec $MYSQL_BINLOG --force-if-open --start-position=106 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog +--exec $MYSQL_BINLOG --force-if-open --start-position=$binlog_killed_pos --stop-position=$binlog_killed_end_log_pos $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")) is not null; --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`; -eval select $error_code /* must return 0 to mean the killed query is in */; +eval select $error_code /* must return 0 to mean the killed delete is in */; # cleanup for the sub-case connection con1; diff --git a/mysql-test/suite/innodb_plugin/r/binlog_consistent.result b/mysql-test/suite/innodb_plugin/r/binlog_consistent.result index 428b828d699..09cbbd98fac 100644 --- a/mysql-test/suite/innodb_plugin/r/binlog_consistent.result +++ b/mysql-test/suite/innodb_plugin/r/binlog_consistent.result @@ -3,11 +3,11 @@ RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb; SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000001 375 +master-bin.000001 380 SHOW STATUS LIKE 'binlog_snapshot_%'; Variable_name Value binlog_snapshot_file master-bin.000001 -binlog_snapshot_position 375 +binlog_snapshot_position 380 BEGIN; INSERT INTO t1 VALUES (0, ""); # Connection con1 @@ -38,10 +38,10 @@ a b SHOW STATUS LIKE 'binlog_snapshot_%'; Variable_name Value binlog_snapshot_file master-bin.000001 -binlog_snapshot_position 674 +binlog_snapshot_position 679 SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000001 861 +master-bin.000001 866 SELECT * FROM t2 ORDER BY a; a 2 @@ -60,40 +60,40 @@ a b SHOW STATUS LIKE 'binlog_snapshot_%'; Variable_name Value binlog_snapshot_file master-bin.000001 -binlog_snapshot_position 674 +binlog_snapshot_position 679 SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000002 240 +master-bin.000002 245 COMMIT; SHOW STATUS LIKE 'binlog_snapshot_%'; Variable_name Value binlog_snapshot_file master-bin.000002 -binlog_snapshot_position 240 +binlog_snapshot_position 245 SHOW MASTER STATUS; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000002 240 +master-bin.000002 245 SHOW BINLOG EVENTS; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 4 Format_desc 1 240 Server ver: #, Binlog ver: # -master-bin.000001 240 Query 1 375 use `test`; CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb -master-bin.000001 375 Query 1 487 use `test`; CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=myisam -master-bin.000001 487 Query 1 555 BEGIN -master-bin.000001 555 Query 1 647 use `test`; INSERT INTO t1 VALUES (0, "") -master-bin.000001 647 Xid 1 674 COMMIT /* XID */ -master-bin.000001 674 Query 1 742 BEGIN -master-bin.000001 742 Query 1 834 use `test`; INSERT INTO t1 VALUES (4, "") -master-bin.000001 834 Xid 1 861 COMMIT /* XID */ -master-bin.000001 861 Query 1 929 BEGIN -master-bin.000001 929 Query 1 1021 use `test`; INSERT INTO t1 VALUES (1, "") -master-bin.000001 1021 Xid 1 1048 COMMIT /* XID */ -master-bin.000001 1048 Query 1 1116 BEGIN -master-bin.000001 1116 Query 1 1213 use `test`; INSERT INTO t1 VALUES (2, "first") -master-bin.000001 1213 Query 1 1301 use `test`; INSERT INTO t2 VALUES (2) -master-bin.000001 1301 Query 1 1399 use `test`; INSERT INTO t1 VALUES (2, "second") -master-bin.000001 1399 Xid 1 1426 COMMIT /* XID */ -master-bin.000001 1426 Query 1 1494 BEGIN -master-bin.000001 1494 Query 1 1586 use `test`; INSERT INTO t1 VALUES (3, "") -master-bin.000001 1586 Query 1 1674 use `test`; INSERT INTO t2 VALUES (3) -master-bin.000001 1674 Xid 1 1701 COMMIT /* XID */ -master-bin.000001 1701 Rotate 1 1745 master-bin.000002;pos=4 +master-bin.000001 4 Format_desc 1 245 Server ver: #, Binlog ver: # +master-bin.000001 245 Query 1 380 use `test`; CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb +master-bin.000001 380 Query 1 492 use `test`; CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=myisam +master-bin.000001 492 Query 1 560 BEGIN +master-bin.000001 560 Query 1 652 use `test`; INSERT INTO t1 VALUES (0, "") +master-bin.000001 652 Xid 1 679 COMMIT /* XID */ +master-bin.000001 679 Query 1 747 BEGIN +master-bin.000001 747 Query 1 839 use `test`; INSERT INTO t1 VALUES (4, "") +master-bin.000001 839 Xid 1 866 COMMIT /* XID */ +master-bin.000001 866 Query 1 934 BEGIN +master-bin.000001 934 Query 1 1026 use `test`; INSERT INTO t1 VALUES (1, "") +master-bin.000001 1026 Xid 1 1053 COMMIT /* XID */ +master-bin.000001 1053 Query 1 1121 BEGIN +master-bin.000001 1121 Query 1 1218 use `test`; INSERT INTO t1 VALUES (2, "first") +master-bin.000001 1218 Query 1 1306 use `test`; INSERT INTO t2 VALUES (2) +master-bin.000001 1306 Query 1 1404 use `test`; INSERT INTO t1 VALUES (2, "second") +master-bin.000001 1404 Xid 1 1431 COMMIT /* XID */ +master-bin.000001 1431 Query 1 1499 BEGIN +master-bin.000001 1499 Query 1 1591 use `test`; INSERT INTO t1 VALUES (3, "") +master-bin.000001 1591 Query 1 1679 use `test`; INSERT INTO t2 VALUES (3) +master-bin.000001 1679 Xid 1 1706 COMMIT /* XID */ +master-bin.000001 1706 Rotate 1 1750 master-bin.000002;pos=4 DROP TABLE t1,t2; diff --git a/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos.result b/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos.result index bfeb2474edb..79ade2acec7 100644 --- a/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos.result +++ b/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos.result @@ -30,6 +30,6 @@ a 1 2 3 -InnoDB: Last MySQL binlog file position 0 901, file name ./master-bin.000001 +InnoDB: Last MySQL binlog file position 0 906, file name ./master-bin.000001 SET DEBUG_SYNC= 'RESET'; DROP TABLE t1; diff --git a/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos_no_optimize_thread.result b/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos_no_optimize_thread.result index a1c31cd411f..e6ea24a67bd 100644 --- a/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos_no_optimize_thread.result +++ b/mysql-test/suite/innodb_plugin/r/group_commit_binlog_pos_no_optimize_thread.result @@ -31,6 +31,6 @@ a 1 2 3 -InnoDB: Last MySQL binlog file position 0 901, file name ./master-bin.000001 +InnoDB: Last MySQL binlog file position 0 906, file name ./master-bin.000001 SET DEBUG_SYNC= 'RESET'; DROP TABLE t1; diff --git a/mysql-test/suite/rpl/extension/README.checksum b/mysql-test/suite/rpl/extension/README.checksum new file mode 100644 index 00000000000..1adcaff49ca --- /dev/null +++ b/mysql-test/suite/rpl/extension/README.checksum @@ -0,0 +1,23 @@ +Binlog checksum testing +======================= + +1. How it works. +The script copies a <suite> to directory <suite>_checksum, +collects test case names for t/ directory (except tests from +disabled def), randomly choose 90% of tests and add them +to disabled.def. +It means that mtr will run only 10% of random tests from each +suite. +At end the script run mtr: +./mysql-test-run.pl --suite=aaa_checksum,bbb_checksum \ + --mysqld=--binlog-checksum=CRC32 arg1 ... argN + +aaa,bbb - suite names from --suite option +arg1,argN - other command-line arguments of checksum.pl + +2. The options: + +--suite=suite1,suite2. Mandatory option. The list of suites for + binlog checksum testing. + +--percent=N, where N is 1..99. Percent of running tests. diff --git a/mysql-test/suite/rpl/extension/checksum.pl b/mysql-test/suite/rpl/extension/checksum.pl new file mode 100644 index 00000000000..60dca18c8f8 --- /dev/null +++ b/mysql-test/suite/rpl/extension/checksum.pl @@ -0,0 +1,164 @@ +#!/usr/bin/perl + +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +use File::Basename; +use File::Copy qw(copy); +use File::Spec qw(catdir); +use File::Path; +use IO::File; +use strict; + +# Constants and variables with default values +my $suites; +my $suffix = "_checksum"; +my $percent_random_test = 10; +my $mtr_script; +my @mtr_argv; +my @mtr_suites; + +# Check some arguments +foreach my $arg ( @ARGV ) +{ + if ($arg =~ m/\-\-suite\=(.+)/i) + { + $suites = $1; + } + elsif ($arg =~ m/\-\-percent\=(\d{1,2})/i) + { + $percent_random_test= $1; + } + else + { + push(@mtr_argv, $arg); + } + +} +if (! defined( $suites ) ) +{ + die("The script requires --suite argument"); +} + +print "#################################################################\n"; +print "# Binlog checksum testing\n"; +print "# Run randomly $percent_random_test\% of tests from following suites: $suites\n"; +print "#################################################################\n"; + +# Set extension directory +my $ext_dir= dirname(File::Spec->rel2abs($0)); +# Set mysql-test directory +my $mysql_test_dir= $ext_dir; +$mysql_test_dir =~ s/(\/|\\)suite(\/|\\)rpl(\/|\\)extension$//; + +# Main loop +foreach my $src_suite (split(",", $suites)) +{ + $src_suite=~ s/ //g; + my $dest_suite= $src_suite . $suffix; + push( @mtr_suites, $dest_suite); + print "Creating suite $dest_suite\n"; + # *** Set platform-independent pathes *** + # Set source directory of suite + my $src_suite_dir = File::Spec->catdir($mysql_test_dir, "suite", $src_suite); + # Set destination directory of suite + my $dest_suite_dir = File::Spec->catdir($mysql_test_dir, "suite", $dest_suite); + print "Copying files\n\tfrom '$src_suite_dir'\n\tto '$dest_suite_dir'\n"; + dircopy($src_suite_dir, $dest_suite_dir); + my $test_case_dir= File::Spec->catdir($dest_suite_dir, "t"); + # Read disabled.def + my %disabled = (); + print "Read disabled.def\n"; + my $fh = new IO::File File::Spec->catdir($test_case_dir, "disabled.def"), "r"; + if ( defined $fh ) + { + my @lines = <$fh>; + undef $fh; + foreach my $line ( @lines ) + { + if ($line =~ m/^([a-zA-Z0-9_]+).+\:.+/i) + { + $disabled{$1}= 1; + } + } + } + # Read test case list + my %tests = (); + print "Generate test case list\n"; + opendir my ($dh), $test_case_dir or die "Could not open dir '$test_case_dir': $!"; + for my $entry (readdir $dh) + { + if ( $entry =~ m/^([a-zA-Z0-9_]+)\.test$/i ) + { + my $test= $1; + if ( ! defined( $disabled{$test}) ) + { + $tests{$test}= 1; + } + } + } + closedir($dh); + # + my @excluded = (); + my $excluded_test= int((((100 - $percent_random_test)/100) * scalar( keys %tests ))); + while ( $excluded_test > 0 ) + { + my @cases = keys %tests; + my $test = $cases[int(rand(scalar(@cases)))]; + push ( @excluded, $test . "\t\t: Excluded for $dest_suite\n" ); + delete $tests{$test}; + $excluded_test--; + } + my $fh = new IO::File File::Spec->catdir($test_case_dir, "disabled.def"), O_WRONLY|O_APPEND; + if (defined $fh) { + print $fh join ("", sort @excluded); + undef $fh; + } + print "\t" . join("\n\t", sort keys %tests) . "\n"; + +} + +# Set path to mtr with arguments +my $mtr_script = "perl " . File::Spec->catdir($mysql_test_dir, "mysql-test-run.pl") . + " --suite=" . join(",", @mtr_suites) . " " . + " --mysqld=--binlog-checksum=CRC32 " . + join (" ", @mtr_argv); + +print "Run $mtr_script\n"; +system( $mtr_script ); + +sub dircopy +{ + my ($from_dir, $to_dir)= @_; + mkdir $to_dir if (! -e $to_dir); + opendir my($dh), $from_dir or die "Could not open dir '$from_dir': $!"; + for my $entry (readdir $dh) + { + next if $entry =~ /^(\.|\.\.)$/; + my $source = File::Spec->catdir($from_dir, $entry); + my $destination = File::Spec->catdir($to_dir, $entry); + if (-d $source) + { + mkdir $destination or die "mkdir '$destination' failed: $!" if not -e $destination; + dircopy($source, $destination); + } + else + { + copy($source, $destination) or die "copy '$source' to '$destination' failed: $!"; + } + } + closedir $dh; + return; +} diff --git a/mysql-test/suite/rpl/r/rpl_change_master.result b/mysql-test/suite/rpl/r/rpl_change_master.result index 6674ab168ef..1b1f040b726 100644 --- a/mysql-test/suite/rpl/r/rpl_change_master.result +++ b/mysql-test/suite/rpl/r/rpl_change_master.result @@ -1,5 +1,6 @@ include/master-slave.inc [connection master] +call mtr.add_suppression("Slave I/O: The slave I/O thread stops because a fatal error is encountered when it tried to SET @master_binlog_checksum"); create table t1(n int); select * from t1; n diff --git a/mysql-test/suite/rpl/r/rpl_checksum.result b/mysql-test/suite/rpl/r/rpl_checksum.result new file mode 100644 index 00000000000..c28a863f024 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_checksum.result @@ -0,0 +1,126 @@ +include/master-slave.inc +[connection master] +call mtr.add_suppression('Slave can not handle replication events with the checksum that master is configured to log'); +call mtr.add_suppression('Replication event checksum verification failed'); +call mtr.add_suppression('Relay log write failure: could not queue event from master'); +call mtr.add_suppression('Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them'); +set @master_save_binlog_checksum= @@global.binlog_checksum; +set @save_master_verify_checksum = @@global.master_verify_checksum; +select @@global.binlog_checksum as 'must be CRC32 because of the command line option'; +must be CRC32 because of the command line option +CRC32 +select @@session.binlog_checksum as 'no session var'; +ERROR HY000: Variable 'binlog_checksum' is a GLOBAL variable +select @@global.master_verify_checksum as 'must be zero because of default'; +must be zero because of default +0 +select @@session.master_verify_checksum as 'no session var'; +ERROR HY000: Variable 'master_verify_checksum' is a GLOBAL variable +set @slave_save_binlog_checksum= @@global.binlog_checksum; +set @save_slave_sql_verify_checksum = @@global.slave_sql_verify_checksum; +select @@global.slave_sql_verify_checksum as 'must be one because of default'; +must be one because of default +1 +select @@session.slave_sql_verify_checksum as 'no session var'; +ERROR HY000: Variable 'slave_sql_verify_checksum' is a GLOBAL variable +show binary logs; +Log_name File_size +master-bin.000001 # +set @@global.binlog_checksum = NONE; +*** must be rotations seen *** +show binary logs; +Log_name File_size +master-bin.000001 # +master-bin.000002 # +set @@global.binlog_checksum = default; +set @@global.binlog_checksum = CRC32; +set @@global.binlog_checksum = CRC32; +set @@global.master_verify_checksum = 0; +set @@global.master_verify_checksum = default; +set @@global.binlog_checksum = ADLER32; +ERROR 42000: Variable 'checksum' can't be set to the value of 'ADLER32' +set @@global.master_verify_checksum = 2; +ERROR 42000: Variable 'master_verify_checksum' can't be set to the value of '2' +set @@global.slave_sql_verify_checksum = 0; +set @@global.slave_sql_verify_checksum = default; +set @@global.slave_sql_verify_checksum = 2; +ERROR 42000: Variable 'slave_sql_verify_checksum' can't be set to the value of '2' +set @@global.binlog_checksum = NONE; +create table t1 (a int); +flush logs; +flush logs; +flush logs; +flush logs; +flush logs; +flush logs; +select count(*) as zero from t1; +zero +0 +include/stop_slave.inc +set @@global.binlog_checksum = CRC32; +insert into t1 values (1) /* will not be applied on slave due to simulation */; +set @@global.debug='d,simulate_slave_unaware_checksum'; +start slave; +include/wait_for_slave_io_to_stop.inc +*** Got IO thread error code: 1236, text: Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configured to log' *** +select count(*) as zero from t1; +zero +0 +set @@global.debug=''; +include/start_slave.inc +set @@global.master_verify_checksum = 1; +set @@session.debug='d,simulate_checksum_test_failure'; +show binlog events; +ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error +set @@session.debug=''; +set @@global.master_verify_checksum = default; +include/stop_slave.inc +create table t2 (a int); +set @@global.debug='d,simulate_checksum_test_failure'; +start slave io_thread; +include/wait_for_slave_io_to_stop.inc +*** Got IO thread error code: 1595, text: Relay log write failure: could not queue event from master *** +set @@global.debug=''; +start slave io_thread; +include/wait_for_slave_param.inc [Read_Master_Log_Pos] +set @@global.slave_sql_verify_checksum = 1; +set @@global.debug='d,simulate_checksum_test_failure'; +start slave sql_thread; +include/wait_for_slave_sql_to_stop.inc +*** Got SQL thread error code: 1593, text: Error initializing relay log position: I/O error reading event at position 4 *** +set @@global.debug=''; +include/start_slave.inc +select count(*) as 'must be zero' from t2; +must be zero +0 +stop slave; +reset slave; +set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE"); +flush logs; +set @@global.binlog_checksum= CRC32; +reset master; +flush logs; +create table t3 (a int, b char(5)); +include/start_slave.inc +select count(*) as 'must be zero' from t3; +must be zero +0 +include/stop_slave.inc +change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root'; +flush logs; +reset master; +insert into t3 value (1, @@global.binlog_checksum); +include/start_slave.inc +flush logs; +select count(*) as 'must be one' from t3; +must be one +1 +set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE"); +insert into t3 value (1, @@global.binlog_checksum); +drop table t1, t2, t3; +set @@global.binlog_checksum = @master_save_binlog_checksum; +set @@global.master_verify_checksum = @save_master_verify_checksum; +set @@global.binlog_checksum = @slave_save_binlog_checksum; +set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum; +End of tests +include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_checksum_cache.result b/mysql-test/suite/rpl/r/rpl_checksum_cache.result new file mode 100644 index 00000000000..9508e94e7f2 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_checksum_cache.result @@ -0,0 +1,119 @@ +include/master-slave.inc +[connection master] +call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t2 set data=repeat.*'a', @act_size.*"); +call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t1 values.* NAME_CONST.*'n',.*, @data .*"); +set @save_binlog_cache_size = @@global.binlog_cache_size; +set @save_binlog_checksum = @@global.binlog_checksum; +set @save_master_verify_checksum = @@global.master_verify_checksum; +set @@global.binlog_cache_size = 4096; +set @@global.binlog_checksum = CRC32; +set @@global.master_verify_checksum = 1; +include/stop_slave.inc +include/start_slave.inc +flush status; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 0 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 0 +drop table if exists t1; +create table t1 (a int PRIMARY KEY, b CHAR(32)) engine=innodb; +create procedure test.p_init (n int, size int) +begin +while n > 0 do +select round(RAND() * size) into @act_size; +set @data = repeat('a', @act_size); +insert into t1 values(n, @data ); +set n= n-1; +end while; +end| +begin; +call test.p_init(4000, 32); +commit; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 1 +*** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +include/diff_tables.inc [master:test.t1, slave:test.t1] +begin; +delete from t1; +commit; +flush status; +create table t2(a int auto_increment primary key, data VARCHAR(12288)) ENGINE=Innodb; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 1 +*** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +include/diff_tables.inc [master:test.t2, slave:test.t2] +begin; +delete from t2; +commit; +flush status; +create table t3(a int auto_increment primary key, data VARCHAR(8192)) engine=innodb; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 1 +*** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +include/diff_tables.inc [master:test.t3, slave:test.t3] +begin; +delete from t3; +commit; +flush status; +create procedure test.p1 (n int) +begin +while n > 0 do +case (select (round(rand()*100) % 3) + 1) +when 1 then +select round(RAND() * 32) into @act_size; +set @data = repeat('a', @act_size); +insert into t1 values(n, @data); +when 2 then +begin +select round(8192 + RAND() * 4096) into @act_size; +insert into t2 set data=repeat('a', @act_size); +end; +when 3 then +begin +select round(3686.4000 + RAND() * 819.2000) into @act_size; +insert into t3 set data= repeat('a', @act_size); +end; +end case; +set n= n-1; +end while; +end| +set autocommit= 0; +begin; +call test.p1(1000); +commit; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 1 +*** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +include/diff_tables.inc [master:test.t1, slave:test.t1] +include/diff_tables.inc [master:test.t2, slave:test.t2] +include/diff_tables.inc [master:test.t3, slave:test.t3] +begin; +delete from t1; +delete from t2; +delete from t3; +commit; +drop table t1, t2, t3; +set @@global.binlog_cache_size = @save_binlog_cache_size; +set @@global.binlog_checksum = @save_binlog_checksum; +set @@global.master_verify_checksum = @save_master_verify_checksum; +drop procedure test.p_init; +drop procedure test.p1; +include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_corruption.result b/mysql-test/suite/rpl/r/rpl_corruption.result new file mode 100644 index 00000000000..b42b7161c30 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_corruption.result @@ -0,0 +1,49 @@ +include/master-slave.inc +[connection master] +call mtr.add_suppression('Found invalid event in binary log'); +call mtr.add_suppression('Slave I/O: Relay log write failure: could not queue event from master'); +call mtr.add_suppression('event read from binlog did not pass crc check'); +call mtr.add_suppression('Replication event checksum verification failed'); +SET @old_master_verify_checksum = @@master_verify_checksum; +# 1. Creating test table/data and set corruption position for testing +* insert/update/delete rows in table t1 * +CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10), c VARCHAR(100)); +include/stop_slave.inc +# 2. Corruption in master binlog and SHOW BINLOG EVENTS +SET GLOBAL debug="+d,corrupt_read_log_event_char"; +SHOW BINLOG EVENTS; +ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error +SET GLOBAL debug="-d,corrupt_read_log_event_char"; +# 3. Master read a corrupted event from binlog and send the error to slave +SET GLOBAL debug="+d,corrupt_read_log_event2"; +START SLAVE IO_THREAD; +include/wait_for_slave_io_error.inc [errno=1236] +SET GLOBAL debug="-d,corrupt_read_log_event2"; +# 4. Master read a corrupted event from binlog and send it to slave +SET GLOBAL master_verify_checksum=0; +SET GLOBAL debug="+d,corrupt_read_log_event2"; +START SLAVE IO_THREAD; +include/wait_for_slave_io_error.inc [errno=1595] +SET GLOBAL debug="-d,corrupt_read_log_event2"; +SET GLOBAL debug= ""; +SET GLOBAL master_verify_checksum=1; +# 5. Slave. Corruption in network +SET GLOBAL debug="+d,corrupt_queue_event"; +START SLAVE IO_THREAD; +include/wait_for_slave_io_error.inc [errno=1595] +SET GLOBAL debug="-d,corrupt_queue_event"; +# 6. Slave. Corruption in relay log +SET GLOBAL debug="+d,corrupt_read_log_event_char"; +START SLAVE; +include/wait_for_slave_sql_error.inc [errno=1593] +SET GLOBAL debug="-d,corrupt_read_log_event_char"; +SET GLOBAL debug= ""; +# 7. Seek diff for tables on master and slave +include/start_slave.inc +include/diff_tables.inc [master:test.t1, slave:test.t1] +# 8. Clean up +SET GLOBAL debug= ""; +SET GLOBAL master_verify_checksum = @old_master_verify_checksum; +DROP TABLE t1; +SET GLOBAL debug= ""; +include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_rotate_logs.result b/mysql-test/suite/rpl/r/rpl_rotate_logs.result index e41f56c0a71..08c9323d897 100644 --- a/mysql-test/suite/rpl/r/rpl_rotate_logs.result +++ b/mysql-test/suite/rpl/r/rpl_rotate_logs.result @@ -69,7 +69,7 @@ insert into temp_table values ("testing temporary tables part 2"); create table t3 (n int); select count(*) from t3 where n >= 4; count(*) -100 +90 create table t4 select * from temp_table; show binary logs; Log_name File_size @@ -88,7 +88,7 @@ include/check_slave_is_running.inc lock tables t3 read; select count(*) from t3 where n >= 4; count(*) -100 +90 unlock tables; drop table if exists t1,t2,t3,t4; End of 4.1 tests diff --git a/mysql-test/suite/rpl/r/rpl_row_conflicts.result b/mysql-test/suite/rpl/r/rpl_row_conflicts.result index 7ad0c06448e..025e2ee4a77 100644 --- a/mysql-test/suite/rpl/r/rpl_row_conflicts.result +++ b/mysql-test/suite/rpl/r/rpl_row_conflicts.result @@ -22,7 +22,7 @@ a [on slave] ---- Wait until slave stops with an error ---- include/wait_for_slave_sql_error.inc [errno=1062] -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 480 (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 485 (expected "duplicate key" error) SELECT * FROM t1; a 1 diff --git a/mysql-test/suite/rpl/t/rpl_change_master.test b/mysql-test/suite/rpl/t/rpl_change_master.test index 65af5e72865..36db1de8d40 100644 --- a/mysql-test/suite/rpl/t/rpl_change_master.test +++ b/mysql-test/suite/rpl/t/rpl_change_master.test @@ -3,6 +3,7 @@ # I/O thread left (some old bug fixed in 4.0.17) source include/master-slave.inc; +call mtr.add_suppression("Slave I/O: The slave I/O thread stops because a fatal error is encountered when it tried to SET @master_binlog_checksum"); connection master; # Make SQL slave thread advance a bit diff --git a/mysql-test/suite/rpl/t/rpl_checksum-master.opt b/mysql-test/suite/rpl/t/rpl_checksum-master.opt new file mode 100644 index 00000000000..a6e99a9fd5a --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_checksum-master.opt @@ -0,0 +1 @@ +--binlog-checksum=CRC32 diff --git a/mysql-test/suite/rpl/t/rpl_checksum.test b/mysql-test/suite/rpl/t/rpl_checksum.test new file mode 100644 index 00000000000..430a663cda2 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_checksum.test @@ -0,0 +1,247 @@ +# WL2540 replication events checksum +# Testing configuration parameters + +--source include/master-slave.inc +--source include/have_debug.inc +--source include/have_binlog_format_mixed.inc + +call mtr.add_suppression('Slave can not handle replication events with the checksum that master is configured to log'); +call mtr.add_suppression('Replication event checksum verification failed'); +# due to C failure simulation +call mtr.add_suppression('Relay log write failure: could not queue event from master'); +call mtr.add_suppression('Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them'); + +# A. read/write access to the global vars: +# binlog_checksum master_verify_checksum slave_sql_verify_checksum + +connection master; + +set @master_save_binlog_checksum= @@global.binlog_checksum; +set @save_master_verify_checksum = @@global.master_verify_checksum; + +select @@global.binlog_checksum as 'must be CRC32 because of the command line option'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.binlog_checksum as 'no session var'; + +select @@global.master_verify_checksum as 'must be zero because of default'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.master_verify_checksum as 'no session var'; + +connection slave; + +set @slave_save_binlog_checksum= @@global.binlog_checksum; +set @save_slave_sql_verify_checksum = @@global.slave_sql_verify_checksum; + +select @@global.slave_sql_verify_checksum as 'must be one because of default'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.slave_sql_verify_checksum as 'no session var'; + +connection master; + +source include/show_binary_logs.inc; +set @@global.binlog_checksum = NONE; +--echo *** must be rotations seen *** +source include/show_binary_logs.inc; + +set @@global.binlog_checksum = default; + +# testing lack of side-effects in non-effective update of binlog_checksum: +set @@global.binlog_checksum = CRC32; +set @@global.binlog_checksum = CRC32; + +set @@global.master_verify_checksum = 0; +set @@global.master_verify_checksum = default; + +--error ER_WRONG_VALUE_FOR_VAR +set @@global.binlog_checksum = ADLER32; +--error ER_WRONG_VALUE_FOR_VAR +set @@global.master_verify_checksum = 2; # the var is of bool type + +connection slave; + +set @@global.slave_sql_verify_checksum = 0; +set @@global.slave_sql_verify_checksum = default; +--error ER_WRONG_VALUE_FOR_VAR +set @@global.slave_sql_verify_checksum = 2; # the var is of bool type + +# +# B. Old Slave to New master conditions +# +# while master does not send a checksum-ed binlog the Old Slave can +# work with the New Master + +connection master; + +set @@global.binlog_checksum = NONE; +create table t1 (a int); + +# testing that binlog rotation preserves opt_binlog_checksum value +flush logs; +flush logs; +flush logs; + +sync_slave_with_master; +#connection slave; +# checking that rotation on the slave side leaves slave stable +flush logs; +flush logs; +flush logs; +select count(*) as zero from t1; + +source include/stop_slave.inc; + +connection master; +set @@global.binlog_checksum = CRC32; +insert into t1 values (1) /* will not be applied on slave due to simulation */; + +# instruction to the dump thread +### set @@global.debug='d,simulate_slave_unaware_checksum'; # merge todo: +/- d syntax fails in my clone + +connection slave; +set @@global.debug='d,simulate_slave_unaware_checksum'; # merge todo: +/- d syntax fails in my clone +start slave; +source include/wait_for_slave_io_to_stop.inc; + +let $errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1); +let $error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1); +--echo *** Got IO thread error code: $errno, text: $error *** + +select count(*) as zero from t1; + +###connection master; +set @@global.debug=''; # merge todo: +/- d syntax fails in my clone + +connection slave; +source include/start_slave.inc; + +# +# C. checksum failure simulations +# + +# C1. Failure by a client thread +connection master; +set @@global.master_verify_checksum = 1; +set @@session.debug='d,simulate_checksum_test_failure'; # merge todo deploy +/- syntax +--error ER_ERROR_WHEN_EXECUTING_COMMAND +show binlog events; +set @@session.debug=''; # merge todo: +/- d syntax fails in my clone +set @@global.master_verify_checksum = default; + +#connection master; +sync_slave_with_master; + +connection slave; +source include/stop_slave.inc; + +connection master; +create table t2 (a int); +let $pos_master= query_get_value(SHOW MASTER STATUS, Position, 1); + +connection slave; + +# C2. Failure by IO thread +# instruction to io thread +set @@global.debug='d,simulate_checksum_test_failure'; # merge todo deploy +/- syntax +start slave io_thread; +source include/wait_for_slave_io_to_stop.inc; +let $errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1); +let $error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1); +--echo *** Got IO thread error code: $errno, text: $error *** +set @@global.debug=''; # todo: merge + +# to make IO thread re-read it again w/o the failure +start slave io_thread; +let $slave_param= Read_Master_Log_Pos; +let $slave_param_value= $pos_master; +source include/wait_for_slave_param.inc; + +# C3. Failure by SQL thread +# instruction to sql thread; +set @@global.slave_sql_verify_checksum = 1; + +set @@global.debug='d,simulate_checksum_test_failure'; # merge todo deploy +/- syntax + +start slave sql_thread; +source include/wait_for_slave_sql_to_stop.inc; +let $errno= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1); +let $error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1); +--echo *** Got SQL thread error code: $errno, text: $error *** + +# resuming SQL thread to parse out the event w/o the failure + +set @@global.debug=''; +source include/start_slave.inc; + +connection master; +sync_slave_with_master; + +#connection slave; +select count(*) as 'must be zero' from t2; + +# +# D. Reset slave, Change-Master, Binlog & Relay-log rotations with +# random value on binlog_checksum on both master and slave +# +connection slave; +stop slave; +reset slave; + +# randomize slave server's own checksum policy +set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE"); +flush logs; + +connection master; +set @@global.binlog_checksum= CRC32; +reset master; +flush logs; +create table t3 (a int, b char(5)); + +connection slave; +source include/start_slave.inc; + +connection master; +sync_slave_with_master; + +#connection slave; +select count(*) as 'must be zero' from t3; +source include/stop_slave.inc; +--replace_result $MASTER_MYPORT MASTER_PORT +eval change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT, master_user='root'; + +connection master; +flush logs; +reset master; +insert into t3 value (1, @@global.binlog_checksum); + +connection slave; +source include/start_slave.inc; +flush logs; + +connection master; +sync_slave_with_master; + +#connection slave; +select count(*) as 'must be one' from t3; + +connection master; +set @@global.binlog_checksum= IF(floor((rand()*1000)%2), "CRC32", "NONE"); +insert into t3 value (1, @@global.binlog_checksum); +sync_slave_with_master; + +#connection slave; + +#clean-up + +connection master; +drop table t1, t2, t3; +set @@global.binlog_checksum = @master_save_binlog_checksum; +set @@global.master_verify_checksum = @save_master_verify_checksum; + +#connection slave; +sync_slave_with_master; +set @@global.binlog_checksum = @slave_save_binlog_checksum; +set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum; + +--echo End of tests + +--source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_checksum_cache.test b/mysql-test/suite/rpl/t/rpl_checksum_cache.test new file mode 100644 index 00000000000..5667d599aff --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_checksum_cache.test @@ -0,0 +1,255 @@ +-- source include/have_innodb.inc +-- source include/master-slave.inc + +--disable_warnings +call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t2 set data=repeat.*'a', @act_size.*"); +call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement: insert into t1 values.* NAME_CONST.*'n',.*, @data .*"); +--enable_warnings + +connection master; +set @save_binlog_cache_size = @@global.binlog_cache_size; +set @save_binlog_checksum = @@global.binlog_checksum; +set @save_master_verify_checksum = @@global.master_verify_checksum; +set @@global.binlog_cache_size = 4096; +set @@global.binlog_checksum = CRC32; +set @@global.master_verify_checksum = 1; + +# restart slave to force the dump thread to verify events (on master side) +connection slave; +source include/stop_slave.inc; +source include/start_slave.inc; + +connection master; + +# +# Testing a critical part of checksum handling dealing with transaction cache. +# The cache's buffer size is set to be less than the transaction's footprint +# in binlog. +# +# To verify combined buffer-by-buffer read out of the file and fixing crc per event +# there are the following parts: +# +# 1. the event size is much less than the cache's buffer +# 2. the event size is bigger than the cache's buffer +# 3. the event size if approximately the same as the cache's buffer +# 4. all in above + +# +# 1. the event size is much less than the cache's buffer +# + +flush status; +show status like "binlog_cache_use"; +show status like "binlog_cache_disk_use"; +--disable_warnings +drop table if exists t1; +--enable_warnings + +# +# parameter to ensure the test slightly varies binlog content +# between different invocations +# +let $deviation_size=32; +eval create table t1 (a int PRIMARY KEY, b CHAR($deviation_size)) engine=innodb; + +# Now we are going to create transaction which is long enough so its +# transaction binlog will be flushed to disk... + +delimiter |; +create procedure test.p_init (n int, size int) +begin + while n > 0 do + select round(RAND() * size) into @act_size; + set @data = repeat('a', @act_size); + insert into t1 values(n, @data ); + set n= n-1; + end while; +end| + +delimiter ;| + +let $1 = 4000; # PB2 can run it slow to time out on following sync_slave_with_master:s + +begin; +--disable_warnings +# todo: check if it is really so. +#+Note 1592 Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT. Reason for unsafeness: Statement uses a system function whose value may differ on slave. +eval call test.p_init($1, $deviation_size); +--enable_warnings +commit; + +show status like "binlog_cache_use"; +--echo *** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; + +sync_slave_with_master; + +let $diff_tables=master:test.t1, slave:test.t1; +source include/diff_tables.inc; + +# undoing changes with verifying the above once again +connection master; + +begin; +delete from t1; +commit; + +sync_slave_with_master; + + +# +# 2. the event size is bigger than the cache's buffer +# +connection master; + +flush status; +let $t2_data_size= `select 3 * @@global.binlog_cache_size`; +let $t2_aver_size= `select 2 * @@global.binlog_cache_size`; +let $t2_max_rand= `select 1 * @@global.binlog_cache_size`; + +eval create table t2(a int auto_increment primary key, data VARCHAR($t2_data_size)) ENGINE=Innodb; +let $1=100; +--disable_query_log +begin; +while ($1) +{ + eval select round($t2_aver_size + RAND() * $t2_max_rand) into @act_size; + set @data = repeat('a', @act_size); + insert into t2 set data = @data; + dec $1; +} +commit; +--enable_query_log +show status like "binlog_cache_use"; +--echo *** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; + +sync_slave_with_master; + +let $diff_tables=master:test.t2, slave:test.t2; +source include/diff_tables.inc; + +# undoing changes with verifying the above once again +connection master; + +begin; +delete from t2; +commit; + +sync_slave_with_master; + +# +# 3. the event size if approximately the same as the cache's buffer +# + +connection master; + +flush status; +let $t3_data_size= `select 2 * @@global.binlog_cache_size`; +let $t3_aver_size= `select (9 * @@global.binlog_cache_size) / 10`; +let $t3_max_rand= `select (2 * @@global.binlog_cache_size) / 10`; + +eval create table t3(a int auto_increment primary key, data VARCHAR($t3_data_size)) engine=innodb; + +let $1= 300; +--disable_query_log +begin; +while ($1) +{ + eval select round($t3_aver_size + RAND() * $t3_max_rand) into @act_size; + insert into t3 set data= repeat('a', @act_size); + dec $1; +} +commit; +--enable_query_log +show status like "binlog_cache_use"; +--echo *** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; + +sync_slave_with_master; + +let $diff_tables=master:test.t3, slave:test.t3; +source include/diff_tables.inc; + +# undoing changes with verifying the above once again +connection master; + +begin; +delete from t3; +commit; + +sync_slave_with_master; + + +# +# 4. all in above +# + +connection master; +flush status; + +delimiter |; +eval create procedure test.p1 (n int) +begin + while n > 0 do + case (select (round(rand()*100) % 3) + 1) + when 1 then + select round(RAND() * $deviation_size) into @act_size; + set @data = repeat('a', @act_size); + insert into t1 values(n, @data); + when 2 then + begin + select round($t2_aver_size + RAND() * $t2_max_rand) into @act_size; + insert into t2 set data=repeat('a', @act_size); + end; + when 3 then + begin + select round($t3_aver_size + RAND() * $t3_max_rand) into @act_size; + insert into t3 set data= repeat('a', @act_size); + end; + end case; + set n= n-1; + end while; +end| +delimiter ;| + +let $1= 1000; +set autocommit= 0; +begin; +--disable_warnings +eval call test.p1($1); +--enable_warnings +commit; + +show status like "binlog_cache_use"; +--echo *** binlog_cache_disk_use must be non-zero *** +show status like "binlog_cache_disk_use"; + +sync_slave_with_master; + +let $diff_tables=master:test.t1, slave:test.t1; +source include/diff_tables.inc; + +let $diff_tables=master:test.t2, slave:test.t2; +source include/diff_tables.inc; + +let $diff_tables=master:test.t3, slave:test.t3; +source include/diff_tables.inc; + + +connection master; + +begin; +delete from t1; +delete from t2; +delete from t3; +commit; + +drop table t1, t2, t3; +set @@global.binlog_cache_size = @save_binlog_cache_size; +set @@global.binlog_checksum = @save_binlog_checksum; +set @@global.master_verify_checksum = @save_master_verify_checksum; +drop procedure test.p_init; +drop procedure test.p1; + +--source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_corruption-master.opt b/mysql-test/suite/rpl/t/rpl_corruption-master.opt new file mode 100644 index 00000000000..2612c17aa67 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_corruption-master.opt @@ -0,0 +1 @@ +--binlog-checksum=CRC32 --master-verify-checksum=1 diff --git a/mysql-test/suite/rpl/t/rpl_corruption-slave.opt b/mysql-test/suite/rpl/t/rpl_corruption-slave.opt new file mode 100644 index 00000000000..b32a52403c2 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_corruption-slave.opt @@ -0,0 +1 @@ +--binlog-checksum=CRC32 --slave-sql-verify-checksum=1 diff --git a/mysql-test/suite/rpl/t/rpl_corruption.test b/mysql-test/suite/rpl/t/rpl_corruption.test new file mode 100644 index 00000000000..aeeae199c02 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_corruption.test @@ -0,0 +1,131 @@ +############################################################ +# Author: Serge Kozlov <serge.kozlov@oracle.com> +# Date: 17 Oct 2010 +# Purpose: WL#5064 Testing with corrupted events. +# The test emulates the corruption at the vary stages +# of replication: +# - in binlog file +# - in network +# - in relay log +############################################################ + +--source include/have_debug.inc +--source include/master-slave.inc + +# Block legal errors for MTR +call mtr.add_suppression('Found invalid event in binary log'); +call mtr.add_suppression('Slave I/O: Relay log write failure: could not queue event from master'); +call mtr.add_suppression('event read from binlog did not pass crc check'); +call mtr.add_suppression('Replication event checksum verification failed'); + +SET @old_master_verify_checksum = @@master_verify_checksum; + +# Creating test table/data and set corruption position for testing +--echo # 1. Creating test table/data and set corruption position for testing +--connection master +--echo * insert/update/delete rows in table t1 * +# Corruption algorithm modifies only the first event and +# then will be reset. To avoid checking always the first event +# from binlog (usually it is FD) we randomly execute different +# statements and set position for corruption inside events. + +CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10), c VARCHAR(100)); +--disable_query_log +let $i=`SELECT 3+CEILING(10*RAND())`; +let $j=1; +let $pos=0; +while ($i) { + eval INSERT INTO t1 VALUES ($j, 'a', NULL); + if (`SELECT RAND() > 0.7`) + { + eval UPDATE t1 SET c = REPEAT('a', 20) WHERE a = $j; + } + if (`SELECT RAND() > 0.8`) + { + eval DELETE FROM t1 WHERE a = $j; + } + if (!$pos) { + let $pos= query_get_value(SHOW MASTER STATUS, Position, 1); + --sync_slave_with_master + --source include/stop_slave.inc + --disable_query_log + --connection master + } + dec $i; + inc $j; +} +--enable_query_log + +# Emulate corruption in binlog file when SHOW BINLOG EVENTS is executing +--echo # 2. Corruption in master binlog and SHOW BINLOG EVENTS +SET GLOBAL debug="+d,corrupt_read_log_event_char"; +--echo SHOW BINLOG EVENTS; +--disable_query_log +send_eval SHOW BINLOG EVENTS FROM $pos; +--enable_query_log +--error ER_ERROR_WHEN_EXECUTING_COMMAND +reap; +SET GLOBAL debug="-d,corrupt_read_log_event_char"; + +# Emulate corruption on master with crc checking on master +--echo # 3. Master read a corrupted event from binlog and send the error to slave +SET GLOBAL debug="+d,corrupt_read_log_event2"; +--connection slave +START SLAVE IO_THREAD; +let $slave_io_errno= 1236; +--source include/wait_for_slave_io_error.inc +--connection master +SET GLOBAL debug="-d,corrupt_read_log_event2"; + +# Emulate corruption on master without crc checking on master +--echo # 4. Master read a corrupted event from binlog and send it to slave +--connection master +SET GLOBAL master_verify_checksum=0; +SET GLOBAL debug="+d,corrupt_read_log_event2"; +--connection slave +START SLAVE IO_THREAD; +let $slave_io_errno= 1595; +--source include/wait_for_slave_io_error.inc +--connection master +SET GLOBAL debug="-d,corrupt_read_log_event2"; +SET GLOBAL debug= ""; +SET GLOBAL master_verify_checksum=1; + +# Emulate corruption in network +--echo # 5. Slave. Corruption in network +--connection slave +SET GLOBAL debug="+d,corrupt_queue_event"; +START SLAVE IO_THREAD; +let $slave_io_errno= 1595; +--source include/wait_for_slave_io_error.inc +SET GLOBAL debug="-d,corrupt_queue_event"; + +# Emulate corruption in relay log +--echo # 6. Slave. Corruption in relay log +SET GLOBAL debug="+d,corrupt_read_log_event_char"; +START SLAVE; +let $slave_sql_errno= 1593; +--source include/wait_for_slave_sql_error.inc +SET GLOBAL debug="-d,corrupt_read_log_event_char"; +SET GLOBAL debug= ""; + +# Start normal replication and compare same table on master +# and slave +--echo # 7. Seek diff for tables on master and slave +--connection slave +--source include/start_slave.inc +--connection master +--sync_slave_with_master +let $diff_tables= master:test.t1, slave:test.t1; +--source include/diff_tables.inc + +# Clean up +--echo # 8. Clean up +--connection master +SET GLOBAL debug= ""; +SET GLOBAL master_verify_checksum = @old_master_verify_checksum; +DROP TABLE t1; +--sync_slave_with_master +SET GLOBAL debug= ""; + +--source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test b/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test index a8c7c2c1f5b..035f8fa9fbf 100644 --- a/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test +++ b/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test @@ -4,11 +4,14 @@ # imitate the bug, so it has to stop). source include/have_debug.inc; +# because of pretend_version_50034_in_binlog the test can't run with checksum +source include/have_binlog_checksum_off.inc; source include/master-slave.inc; # Currently only statement-based-specific bugs are here -- source include/have_binlog_format_mixed_or_statement.inc + # # This is to test that slave properly detects if # master may suffer from: diff --git a/mysql-test/suite/rpl/t/rpl_rotate_logs.test b/mysql-test/suite/rpl/t/rpl_rotate_logs.test index 68a3a20b501..1413bf5a16b 100644 --- a/mysql-test/suite/rpl/t/rpl_rotate_logs.test +++ b/mysql-test/suite/rpl/t/rpl_rotate_logs.test @@ -142,7 +142,10 @@ select * from t2; connection master; create temporary table temp_table (a char(80) not null); insert into temp_table values ("testing temporary tables part 2"); -let $1=100; + +# the nummber of produced logs is sensitive to whether checksum is NONE or CRC32 +# the value of 90 makes it even +let $1=90; create table t3 (n int); disable_query_log; diff --git a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test b/mysql-test/suite/rpl/t/rpl_start_stop_slave.test index 15f98916485..fff457b2e55 100644 --- a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test +++ b/mysql-test/suite/rpl/t/rpl_start_stop_slave.test @@ -12,7 +12,7 @@ create table t1(n int); sync_slave_with_master; stop slave; connection master; -let $1=5000; +let $1=2500; disable_query_log; while ($1) { diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test index 65093319fbe..a245b054ebd 100644 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test +++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test @@ -37,8 +37,10 @@ stop slave; # get the master binlog pos from the epoch, from the _other_ "master", server2 connection server2; --replace_result $the_epoch <the_epoch> +--disable_result_log eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1) FROM mysql.ndb_binlog_index WHERE epoch = $the_epoch ; +--enable_result_log let $the_pos= `SELECT @the_pos` ; let $the_file= `SELECT @the_file` ; diff --git a/mysql-test/suite/sys_vars/r/binlog_checksum_basic.result b/mysql-test/suite/sys_vars/r/binlog_checksum_basic.result new file mode 100644 index 00000000000..2821a4a7e63 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/binlog_checksum_basic.result @@ -0,0 +1,14 @@ +set @save_binlog_checksum= @@global.binlog_checksum; +set @@global.binlog_checksum = default; +select @@global.binlog_checksum as 'must be NONE by default'; +must be NONE by default +NONE +select @@session.binlog_checksum as 'no session var'; +ERROR HY000: Variable 'binlog_checksum' is a GLOBAL variable +set @@global.binlog_checksum = CRC32; +set @@global.binlog_checksum = CRC32; +set @@global.master_verify_checksum = 0; +set @@global.master_verify_checksum = default; +set @@global.binlog_checksum = ADLER32; +ERROR 42000: Variable 'checksum' can't be set to the value of 'ADLER32' +set @@global.binlog_checksum = @save_binlog_checksum; diff --git a/mysql-test/suite/sys_vars/r/master_verify_checksum_basic.result b/mysql-test/suite/sys_vars/r/master_verify_checksum_basic.result new file mode 100644 index 00000000000..83a1283c358 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/master_verify_checksum_basic.result @@ -0,0 +1,11 @@ +set @save_master_verify_checksum = @@global.master_verify_checksum; +select @@global.master_verify_checksum as 'must be zero because of default'; +must be zero because of default +0 +select @@session.master_verify_checksum as 'no session var'; +ERROR HY000: Variable 'master_verify_checksum' is a GLOBAL variable +set @@global.master_verify_checksum = 0; +set @@global.master_verify_checksum = default; +set @@global.master_verify_checksum = 2; +ERROR 42000: Variable 'master_verify_checksum' can't be set to the value of '2' +set @@global.master_verify_checksum = @save_master_verify_checksum; diff --git a/mysql-test/suite/sys_vars/r/slave_sql_verify_checksum_basic.result b/mysql-test/suite/sys_vars/r/slave_sql_verify_checksum_basic.result new file mode 100644 index 00000000000..cd80381239a --- /dev/null +++ b/mysql-test/suite/sys_vars/r/slave_sql_verify_checksum_basic.result @@ -0,0 +1,11 @@ +set @save_slave_sql_verify_checksum = @@global.slave_sql_verify_checksum; +select @@global.slave_sql_verify_checksum as 'must be one because of default'; +must be one because of default +1 +select @@session.slave_sql_verify_checksum as 'no session var'; +ERROR HY000: Variable 'slave_sql_verify_checksum' is a GLOBAL variable +set @@global.slave_sql_verify_checksum = 0; +set @@global.slave_sql_verify_checksum = default; +set @@global.slave_sql_verify_checksum = 2; +ERROR 42000: Variable 'slave_sql_verify_checksum' can't be set to the value of '2' +set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum; diff --git a/mysql-test/suite/sys_vars/t/binlog_checksum_basic.test b/mysql-test/suite/sys_vars/t/binlog_checksum_basic.test new file mode 100644 index 00000000000..fb3d8e33fa1 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/binlog_checksum_basic.test @@ -0,0 +1,25 @@ +--source include/not_embedded.inc + +# suite/rpl/t/rpl_checksum.test contains similar testing of +# all checksum related system variables. + +set @save_binlog_checksum= @@global.binlog_checksum; +set @@global.binlog_checksum = default; + +select @@global.binlog_checksum as 'must be NONE by default'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.binlog_checksum as 'no session var'; + + +# testing lack of side-effects in non-effective update of binlog_checksum: +set @@global.binlog_checksum = CRC32; +set @@global.binlog_checksum = CRC32; + +set @@global.master_verify_checksum = 0; +set @@global.master_verify_checksum = default; + +--error ER_WRONG_VALUE_FOR_VAR +set @@global.binlog_checksum = ADLER32; + +# cleanup +set @@global.binlog_checksum = @save_binlog_checksum; diff --git a/mysql-test/suite/sys_vars/t/master_verify_checksum_basic.test b/mysql-test/suite/sys_vars/t/master_verify_checksum_basic.test new file mode 100644 index 00000000000..b70040ff2a2 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/master_verify_checksum_basic.test @@ -0,0 +1,19 @@ +--source include/not_embedded.inc + +# suite/rpl/t/rpl_checksum.test contains similar testing of +# all checksum related system variables. + +set @save_master_verify_checksum = @@global.master_verify_checksum; + +select @@global.master_verify_checksum as 'must be zero because of default'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.master_verify_checksum as 'no session var'; + +set @@global.master_verify_checksum = 0; +set @@global.master_verify_checksum = default; + +--error ER_WRONG_VALUE_FOR_VAR +set @@global.master_verify_checksum = 2; # the var is of bool type + +# cleanup +set @@global.master_verify_checksum = @save_master_verify_checksum; diff --git a/mysql-test/suite/sys_vars/t/slave_sql_verify_checksum_basic.test b/mysql-test/suite/sys_vars/t/slave_sql_verify_checksum_basic.test new file mode 100644 index 00000000000..3eb4f4b4e6d --- /dev/null +++ b/mysql-test/suite/sys_vars/t/slave_sql_verify_checksum_basic.test @@ -0,0 +1,18 @@ +--source include/not_embedded.inc + +# suite/rpl/t/rpl_checksum.test contains similar testing of +# all checksum related system variables. + +set @save_slave_sql_verify_checksum = @@global.slave_sql_verify_checksum; + +select @@global.slave_sql_verify_checksum as 'must be one because of default'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.slave_sql_verify_checksum as 'no session var'; + +set @@global.slave_sql_verify_checksum = 0; +set @@global.slave_sql_verify_checksum = default; +--error ER_WRONG_VALUE_FOR_VAR +set @@global.slave_sql_verify_checksum = 2; # the var is of bool type + +# cleanup +set @@global.slave_sql_verify_checksum = @save_slave_sql_verify_checksum; |