include/master-slave.inc [connection master] *** Prepare tables and data *** connection master; CREATE TABLE t1 (a INT NOT NULL, KEY(a)) ENGINE=innodb; CREATE TABLE t2 (a INT) ENGINE=innodb; CREATE TABLE t3 (a INT NOT NULL, KEY(a)) ENGINE=innodb; connection slave; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL, KEY `a` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `a` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 SHOW CREATE TABLE t3; Table Create Table t3 CREATE TABLE `t3` ( `a` int(11) NOT NULL, KEY `a` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 SHOW VARIABLES LIKE 'slave_transaction_retries'; Variable_name Value slave_transaction_retries 2 include/stop_slave.inc connection master; BEGIN; INSERT INTO t1 VALUES (1); INSERT INTO t2 VALUES (2), (2), (2), (2), (2), (2), (2), (2), (2), (2); INSERT INTO t3 VALUES (3); COMMIT; *** Test deadlock *** connection slave; BEGIN; SELECT * FROM t1 FOR UPDATE; a connection slave1; START SLAVE; connection slave; SELECT COUNT(*) FROM t2; COUNT(*) 0 COMMIT; SELECT * FROM t1; a 1 SELECT * FROM t3; a 3 include/check_slave_is_running.inc *** Test lock wait timeout *** connection slave; include/stop_slave.inc DELETE FROM t2; CHANGE MASTER TO MASTER_LOG_POS=; BEGIN; SELECT * FROM t1 FOR UPDATE; a 1 connection slave1; START SLAVE; include/wait_for_slave_sql_error.inc [errno=1205] connection slave; SELECT COUNT(*) FROM t2; COUNT(*) 0 COMMIT; include/start_slave.inc SELECT * FROM t1; a 1 1 SELECT * FROM t3; a 3 3 include/check_slave_is_running.inc *** Test lock wait timeout and purged relay logs *** connection slave; SET @my_max_relay_log_size= @@global.max_relay_log_size; SET global max_relay_log_size=0; Warnings: Warning 1292 Truncated incorrect max_relay_log_size value: '0' include/stop_slave.inc DELETE FROM t2; CHANGE MASTER TO MASTER_LOG_POS=; BEGIN; SELECT * FROM t1 FOR UPDATE; a 1 1 connection slave1; START SLAVE; include/wait_for_slave_sql_error.inc [errno=1205] connection slave; SELECT COUNT(*) FROM t2; COUNT(*) 0 COMMIT; include/start_slave.inc SELECT * FROM t1; a 1 1 1 SELECT * FROM t3; a 3 3 3 include/check_slave_is_running.inc *** Clean up *** connection master; DROP TABLE t1,t2,t3; connection slave; SET global max_relay_log_size= @my_max_relay_log_size; End of 5.1 tests include/rpl_end.inc