rpl_error_ignored_table.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:
MySQL数据库
开发平台:
Visual C++
- # 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;
- connection master;
- create table t1 (a int primary key);
- # generate an error that goes to the binlog
- --error 1062
- insert into t1 values (1),(1);
- save_master_pos;
- connection slave;
- # as the t1 table is ignored on the slave, the slave should be able to sync
- sync_with_master;
- # The port number is different when doing the release build with
- # Do-compile, hence we have to replace the port number here accordingly
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- # check that the table has been ignored, because otherwise the test is nonsense
- show tables like 't1';
- connection master;
- drop table t1;
- save_master_pos;
- connection slave;
- sync_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;
- real_sleep 2;
- select (@id := id) - id from t3;
- kill @id;
- drop table t2,t3;
- connection master;
- --error 0,1053
- reap;
- connection master1;
- show binlog events from 79;
- save_master_pos;
- connection slave;
- # SQL slave thread should not have stopped (because table of the killed
- # query is in the ignore list).
- sync_with_master;
- # End of 4.1 tests