rpl_insert_delayed.test
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· TEST 代码 · 共 98 行
TEST
98 行
--source include/master-slave.inc--source include/not_embedded.inc--source include/not_windows.incconnection master;let $binlog_format_statement=1;CREATE TABLE t1 (id INT primary key auto_increment, name VARCHAR(64));sync_slave_with_master;## BUG#26116 "If multi-row INSERT DELAYED has errors,# statement-based binlogging breaks";# happened only in statement-based binlogging.#connection master;truncate table t1;# first scenario: duplicate on first rowinsert delayed into t1 values(10, "my name");if ($binlog_format_statement){ # statement below will be converted to non-delayed INSERT and so # will stop at first error, guaranteeing replication. --error ER_DUP_ENTRY insert delayed into t1 values(10, "is Bond"), (20, "James Bond");}if (!$binlog_format_statement){ insert delayed into t1 values(10, "is Bond"), (20, "James Bond");}flush table t1; # to wait for INSERT DELAYED to be doneselect * from t1;sync_slave_with_master;# when bug existed in statement-based binlogging, t1 on slave had# different content from on masterselect * from t1;# second scenario: duplicate on second rowconnection master;delete from t1 where id!=10;if ($binlog_format_statement){ # statement below will be converted to non-delayed INSERT and so # will be binlogged with its ER_DUP_ENTRY error code, guaranteeing # replication (slave will hit the same error code and so be fine). --error ER_DUP_ENTRY insert delayed into t1 values(20, "is Bond"), (10, "James Bond");}if (!$binlog_format_statement){ insert delayed into t1 values(20, "is Bond"), (10, "James Bond");}flush table t1; # to wait for INSERT DELAYED to be doneselect * from t1;sync_slave_with_master;# when bug existed in statement-based binlogging, query was binlogged# with error_code=0 so slave stoppedselect * from t1;# clean upconnection master;drop table t1;sync_slave_with_master;connection master;## Bug #29571: INSERT DELAYED IGNORE written to binary log on the master but# on the slave#CREATE TABLE t1(a int, UNIQUE(a));INSERT DELAYED IGNORE INTO t1 VALUES(1);INSERT DELAYED IGNORE INTO t1 VALUES(1);flush table t1; # to wait for INSERT DELAYED to be done#must show two INSERT DELAYED--replace_column 1 x 2 x 3 x 4 x 5 xshow binlog events limit 11,100;select * from t1;sync_slave_with_master;echo On slave;#must show two INSERT DELAYED--replace_column 1 x 2 x 3 x 4 x 5 xshow binlog events limit 12,100;select * from t1;# clean upconnection master;drop table t1;sync_slave_with_master;connection master;--echo End of 5.0 tests
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?