--source include/have_innodb.inc --source include/count_sessions.inc CREATE TABLE t1 (a INT) ENGINE=InnoDB; CREATE TABLE t2 (b INT) ENGINE=InnoDB; CREATE TABLE t3 (c INT) ENGINE=InnoDB; --delimiter $$ CREATE TRIGGER tr BEFORE INSERT ON t3 FOR EACH ROW BEGIN SAVEPOINT sv; INSERT INTO t2 VALUES (0); END $$ --delimiter ; START TRANSACTION; DELETE FROM t1; connect (con1,localhost,root,,test); START TRANSACTION; INSERT INTO t2 VALUES (2); UPDATE t2 SET b = b+1; --send INSERT INTO t1 VALUES (1); connection default; let $wait_condition= select count(*) = 1 from information_schema.processlist where state = 'update' and info = 'INSERT INTO t1 VALUES (1)' --source include/wait_condition.inc --error ER_LOCK_DEADLOCK INSERT INTO t3 VALUES (2); COMMIT; connection con1; reap; COMMIT; disconnect con1; connection default; SELECT * FROM t1; SELECT * FROM t2; SELECT * FROM t3; DROP TABLE t1, t2, t3; --error ER_TRG_DOES_NOT_EXIST DROP TRIGGER tr; --source include/wait_until_count_sessions.inc