# Test for # Bug #797: If a query is ignored on slave (replicate-ignore-table) the slave # still checks that it has the same error as on the master. ########################################################################## # 2006-02-07 JBM Added error code 1022 for NDB Engine + ORDER BY ########################################################################## -- source include/master-slave.inc CALL mtr.add_suppression("Statement may not be safe to log in statement format."); connection master; create table t1 (a int primary key); create table t4 (a int primary key); # generate an error that goes to the binlog --error 1022, ER_DUP_ENTRY insert into t1 values (1),(1); insert into t4 values (1),(2); # as the t1 table is ignored on the slave, the slave should be able to sync sync_slave_with_master; # check that the table has been ignored, because otherwise the test is nonsense show tables like 't1'; show tables like 't4'; SELECT * FROM test.t4 ORDER BY a; connection master; drop table t1; sync_slave_with_master; # Now test that even critical errors (connection killed) # are ignored if rules allow it. # The "kill" idea was copied from rpl000001.test. connection master1; select get_lock('crash_lock%20C', 10); connection master; create table t2 (a int primary key); insert into t2 values(1); create table t3 (id int); insert into t3 values(connection_id()); send update t2 set a = a + 1 + get_lock('crash_lock%20C', 10); connection master1; let $wait_condition= SELECT a > 1 FROM t2; source include/wait_condition.inc; select (@id := id) - id from t3; kill @id; drop table t2,t3; insert into t4 values (3),(4); connection master; # The get_lock function causes warning for unsafe statement. --disable_warnings --error 0,1317,2013 reap; --enable_warnings connection master1; sync_slave_with_master; SELECT * FROM test.t4 ORDER BY a; connection master1; DROP TABLE test.t4; sync_slave_with_master; # End of 4.1 tests # Adding comment for force manual merge 5.0 -> wl1012. delete me if needed --source include/rpl_end.inc