# # BUG#52868: Wrong handling of NULL value during update, replication out of sync # -- echo ## case #1 - last_null_bit_pos==0 in record_compare without X bit -- source include/rpl_reset.inc -- connection master -- eval CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 varchar(1) DEFAULT '', c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0, c8 bigint(20) DEFAULT 0) ENGINE=$engine DEFAULT CHARSET=latin1 INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 ); INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 ); -- disable_warnings UPDATE t1 SET c5 = 'a'; -- enable_warnings -- source include/sync_slave_sql_with_master.inc -- let $diff_tables= master:t1, slave:t1 -- source include/diff_tables.inc --connection master DROP TABLE t1; -- source include/sync_slave_sql_with_master.inc -- echo ## case #1.1 - last_null_bit_pos==0 in record_compare with X bit -- echo ## (1 column less and no varchar) -- source include/rpl_reset.inc -- connection master -- eval CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 bigint(20) DEFAULT 0, c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0) ENGINE=$engine DEFAULT CHARSET=latin1 INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 ); INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 ); -- disable_warnings UPDATE t1 SET c5 = 'a'; -- enable_warnings -- source include/sync_slave_sql_with_master.inc -- let $diff_tables= master:t1, slave:t1 -- source include/diff_tables.inc --connection master DROP TABLE t1; -- source include/sync_slave_sql_with_master.inc -- echo ## case #2 - X bit is wrongly set. -- source include/rpl_reset.inc -- connection master -- eval CREATE TABLE t1 (c1 int, c2 varchar(1) default '') ENGINE=$engine DEFAULT CHARSET= latin1 INSERT INTO t1(c1) VALUES (10); INSERT INTO t1(c1) VALUES (NULL); UPDATE t1 SET c1= 0; -- source include/sync_slave_sql_with_master.inc -- let $diff_tables= master:t1, slave:t1 -- source include/diff_tables.inc -- connection master DROP TABLE t1; -- source include/sync_slave_sql_with_master.inc