From a0e0166ba55f696e519d4073dea5fcdd8b74542d Mon Sep 17 00:00:00 2001 From: unknown <mats@romeo.(none)> Date: Tue, 20 Mar 2007 08:52:01 +0100 Subject: BUG#22583: RBR between MyISAM and non-MyISAM tables containing a BIT field does not work Fix to prevent MyISAM from reading data from NULL BLOB. Fix to make record comparison independent of values of unused bits in record. Updating binlog positions in tests. mysql-test/extra/rpl_tests/rpl_multi_query.test: Binlog position change mysql-test/extra/rpl_tests/rpl_stm_charset.test: Binlog position change mysql-test/include/show_binlog_events.inc: Binlog position change mysql-test/r/binlog_stm_binlog.result: Result change mysql-test/r/binlog_stm_ctype_ucs.result: Result change mysql-test/r/binlog_stm_insert_select.result: Result change mysql-test/r/binlog_stm_mix_innodb_myisam.result: Result change mysql-test/r/ctype_cp932_binlog_stm.result: Result change mysql-test/r/ndb_binlog_multi.result: Result change mysql-test/r/rpl_known_bugs_detection.result: Result change mysql-test/r/rpl_loaddata.result: Result change mysql-test/r/rpl_loaddata_s.result: Result change mysql-test/r/rpl_ndb_charset.result: Result change mysql-test/r/rpl_ndb_extraCol.result: Result change mysql-test/r/rpl_ndb_log.result: Result change mysql-test/r/rpl_ndb_multi.result: Result change mysql-test/r/rpl_rbr_to_sbr.result: Result change mysql-test/r/rpl_rotate_logs.result: Result change mysql-test/r/rpl_sp.result: Result change mysql-test/r/rpl_stm_charset.result: Result change mysql-test/r/rpl_stm_flsh_tbls.result: Result change mysql-test/r/rpl_stm_log.result: Result change mysql-test/r/rpl_stm_max_relay_size.result: Result change mysql-test/r/rpl_stm_multi_query.result: Result change mysql-test/r/rpl_stm_reset_slave.result: Result change mysql-test/r/rpl_stm_until.result: Result change mysql-test/r/rpl_truncate_7ndb.result: Result change mysql-test/r/user_var-binlog.result: Result change mysql-test/t/binlog_stm_mix_innodb_myisam.test: Binlog position change mysql-test/t/ctype_cp932_binlog_stm.test: Binlog position change mysql-test/t/mysqlbinlog.test: Binlog position change mysql-test/t/mysqlbinlog2.test: Binlog position change mysql-test/t/rpl_sp.test: Binlog position change mysql-test/t/rpl_stm_flsh_tbls.test: Binlog position change sql/log_event.cc: Emptying the record entirely since it appears MyISAM reads blob column data even when they are NULL. Adding code to set unused bits of the records before doing a comparison, and restoring the original values after. Setting the unused bits is necessary since NDB does not set them correctly, and resetting them afterwards is needed because MyISAM compares the record with the one located when updating or deleting it. mysql-test/r/rpl_row_basic_11bugs-master.opt: New BitKeeper file ``mysql-test/r/rpl_row_basic_11bugs-master.opt'' mysql-test/r/rpl_row_basic_11bugs-slave.opt: New BitKeeper file ``mysql-test/r/rpl_row_basic_11bugs-slave.opt'' --- mysql-test/extra/rpl_tests/rpl_multi_query.test | 2 +- mysql-test/extra/rpl_tests/rpl_stm_charset.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'mysql-test/extra') diff --git a/mysql-test/extra/rpl_tests/rpl_multi_query.test b/mysql-test/extra/rpl_tests/rpl_multi_query.test index 30a83886a86..a1b3b9de5f5 100644 --- a/mysql-test/extra/rpl_tests/rpl_multi_query.test +++ b/mysql-test/extra/rpl_tests/rpl_multi_query.test @@ -25,6 +25,6 @@ select * from mysqltest.t1; connection master; --replace_column 2 # 5 # --replace_regex /table_id: [0-9]+/table_id: #/ -show binlog events from 102; +show binlog events from 105; drop database mysqltest; sync_slave_with_master; diff --git a/mysql-test/extra/rpl_tests/rpl_stm_charset.test b/mysql-test/extra/rpl_tests/rpl_stm_charset.test index 5657b06e88f..4822ba60db0 100644 --- a/mysql-test/extra/rpl_tests/rpl_stm_charset.test +++ b/mysql-test/extra/rpl_tests/rpl_stm_charset.test @@ -111,7 +111,7 @@ drop database mysqltest2; drop database mysqltest3; --replace_column 2 # 5 # --replace_regex /table_id: [0-9]+/table_id: #/ -show binlog events from 102; +show binlog events from 105; sync_slave_with_master; # Check that we can change global.collation_server (since 5.0.3) -- cgit v1.2.1