# 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. ########################################################################## -- source include/master-slave.inc -- disable_query_log CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT."); -- enable_query_log 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 count(*) > 0 FROM information_schema.processlist WHERE info LIKE 'update%' AND state='User lock'; source include/wait_condition.inc; select (@id := id) - id from t3; kill @id; let $id= `SELECT @id`; let $wait_condition= SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = $id; source include/wait_condition.inc; 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