--source include/have_innodb.inc CREATE TABLE t1(a TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t2(a TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t3(a TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t4(a TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t5(a TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t6(a SERIAL, b INT) ENGINE=InnoDB; DELIMITER $$; CREATE FUNCTION p1() RETURNS INT BEGIN INSERT INTO t1() VALUES(); INSERT INTO t2() VALUES(); INSERT INTO t3() VALUES(); INSERT INTO t4() VALUES(); INSERT INTO t5() VALUES(); RETURN 1; END$$ DELIMITER ;$$ INSERT INTO t6(b) SELECT p1(); UPDATE t1,t2,t3,t4,t5 SET t1.a=2,t2.a=2,t3.a=2,t4.a=2,t5.a=2; SELECT * FROM t1; --connect(con1,localhost,root,,) let $ID1= `SELECT @id := CONNECTION_ID()`; --connect(con2,localhost,root,,) let $ID2= `SELECT @id := CONNECTION_ID()`; --connect(con3,localhost,root,,) let $ID3= `SELECT @id := CONNECTION_ID()`; --connection con1 send INSERT INTO t6(b) SELECT SLEEP(p1()); --connection con2 send INSERT INTO t6(b) SELECT SLEEP(p1()); --connection con3 send UPDATE t1,t2,t3,t4,t5 SET t1.a=0,t2.a=0,t3.a=0,t4.a=0,t5.a=0 WHERE t1.a=2 AND t2.a=2 AND t3.a=2 AND t4.a=2 AND t5.a=2; --connection default evalp KILL QUERY $ID1; evalp KILL QUERY $ID2; evalp KILL QUERY $ID3; --connection con1 --error 0,ER_QUERY_INTERRUPTED,ER_AUTOINC_READ_FAILED --reap --disconnect con1 --connection con2 --error 0,ER_QUERY_INTERRUPTED,ER_AUTOINC_READ_FAILED --reap --disconnect con2 --connection con3 --error 0,ER_QUERY_INTERRUPTED,ER_AUTOINC_READ_FAILED --reap --disconnect con3 --connection default DROP FUNCTION p1; DROP TABLE t1,t2,t3,t4,t5,t6;