include/master-slave.inc [connection master] DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p2; DROP TABLE IF EXISTS test.t1; CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB; CREATE PROCEDURE test.p1() BEGIN INSERT INTO test.t1 VALUES (4); SELECT get_lock("test", 100); UPDATE test.t1 set a=a+4 WHERE a=4; END| CREATE PROCEDURE test.p2() BEGIN UPDATE test.t1 SET a=a+1; END| SELECT get_lock("test", 200); get_lock("test", 200) 1 CALL test.p1(); CALL test.p2(); SELECT release_lock("test"); release_lock("test") 1 SELECT * FROM test.t1; a 5 SELECT * FROM test.t1; a 5 DROP TABLE IF EXISTS test.t1; CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB; CALL test.p2(); CALL test.p1(); get_lock("test", 100) 0 SELECT * FROM test.t1; a 8 SELECT * FROM test.t1; a 8 DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p2; DROP TABLE IF EXISTS test.t1; include/rpl_end.inc