# This test should work in embedded server after mysqltest is fixed -- source include/not_embedded.inc --echo Tests of syncronization of stored procedure execution. --source include/have_debug_sync.inc --echo # --echo # Bug#48157: crash in Item_field::used_tables --echo # CREATE TABLE t1 AS SELECT 1 AS a, 1 AS b; CREATE TABLE t2 AS SELECT 1 AS a, 1 AS b; DELIMITER |; CREATE PROCEDURE p1() BEGIN UPDATE t1 JOIN t2 USING( a, b ) SET t1.b = 1, t2.b = 1; END| DELIMITER ;| connect (con1,localhost,root,,); connect (con2,localhost,root,,); connection con1; LOCK TABLES t1 WRITE, t2 WRITE; connection con2; LET $ID= `select connection_id()`; SET DEBUG_SYNC = 'multi_update_reopen_tables SIGNAL parked WAIT_FOR go'; --send CALL p1() connection con1; let $wait_condition= SELECT 1 FROM information_schema.processlist WHERE ID = $ID AND state = "Locked"; --source include/wait_condition.inc DROP TABLE t1, t2; SET DEBUG_SYNC = 'now WAIT_FOR parked'; CREATE TABLE t1 AS SELECT 1 AS a, 1 AS b; CREATE TABLE t2 AS SELECT 1 AS a, 1 AS b; SET DEBUG_SYNC = 'now SIGNAL go'; connection con2; --reap disconnect con1; disconnect con2; connection default; --echo # Without the DEBUG_SYNC supplied in the same patch as this test in the --echo # code, this test statement will hang. DROP TABLE t1, t2; DROP PROCEDURE p1; SET DEBUG_SYNC = 'RESET';