# Originally taken from rpl_mystery22.test, # but this row-based-replication test has a totally different spirit: # slave will not stop because of dup key, # instead we test if it does overwrite the dup key # as expected. -- source include/have_binlog_format_row.inc -- source include/master-slave.inc # first, cause a duplicate key problem on the slave create table t1(n int auto_increment primary key, s char(10)); sync_slave_with_master; insert into t1 values (2,'old'); connection master; insert into t1 values(NULL,'new'); insert into t1 values(NULL,'new'); save_master_pos; connection slave; sync_with_master; select * from t1 order by n; delete from t1 where n = 2; --disable_warnings start slave; --enable_warnings sync_with_master; stop slave; connection master; create table t2(n int); drop table t2; insert into t1 values(NULL,'new'); # what happens when we delete a row which does not exist on slave? set sql_log_bin=0; insert into t1 values(NULL,'new'); set sql_log_bin=1; delete from t1 where n=4; save_master_pos; connection slave; --disable_warnings start slave; --enable_warnings sync_with_master; select * from t1 order by n; #clean up connection master; drop table t1; sync_slave_with_master;