From 396f4d62c69335b8f7aefd43bbe099e8bb9e6905 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Thu, 10 Jan 2013 23:40:18 +0200 Subject: Fix for MDEV-4009: main.delayed sporadically fails with "query 'REPLACE DELAYED t1 VALUES (5)' failed: 1317: Query execution was interrupted" - Fixed broadcast without a proper mutex - Don't break existing locks if we are just testing if we can get the lock mysql-test/r/create_delayed.result: Added test case for failures with INSERT DELAYED with CREATE and DROP TABLE mysql-test/t/create_delayed.test: Added test case for failures with INSERT DELAYED with CREATE and DROP TABLE sql/mdl.cc: Don't break existing locks for timeout=0 (ie, just check if there are conflicting locks). This fixed the bug that INSERT DELAYED didn't work properly with CREATE TABLE sql/sql_base.cc: One neads to hold the mutex before doing a mysql_cond_broadcast() This fixed the bug that INSERT DELAYED didn't work properly with DROP TABLE sql/sql_insert.cc: Protect setting of mysys_var->current_mutex. --- mysql-test/r/create_delayed.result | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 mysql-test/r/create_delayed.result (limited to 'mysql-test/r/create_delayed.result') diff --git a/mysql-test/r/create_delayed.result b/mysql-test/r/create_delayed.result new file mode 100644 index 00000000000..c36a8e60cbb --- /dev/null +++ b/mysql-test/r/create_delayed.result @@ -0,0 +1,3 @@ +drop table if exists t1; +Starting test +# All done -- cgit v1.2.1