1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-28 13:01:41 +03:00
Davi Arnaut aebaf079d1 Bug#43230: SELECT ... FOR UPDATE can hang with FLUSH TABLES WITH READ LOCK indefinitely
The problem is that a SELECT .. FOR UPDATE statement might open
a table and later wait for a impeding global read lock without
noticing whether it is holding a table that is being waited upon
the the flush phase of the process that took the global read
lock.

The same problem also affected the following statements:

LOCK TABLES .. WRITE
UPDATE .. SET (update and multi-table update)
TRUNCATE TABLE ..
LOAD DATA ..

The solution is to make the above statements wait for a impending
global read lock before opening the tables. If there is no
impending global read lock, the statement raises a temporary
protection against global read locks and progresses smoothly
towards completion.

Important notice: the patch does not try to address all possible
cases, only those which are common and can be fixed unintrusively
enough for 5.0.
2009-04-03 16:11:54 -03:00
..
2007-11-06 20:31:40 +02:00
2007-12-13 15:47:23 +04:00
2007-06-28 16:03:01 -07:00
2007-07-06 11:35:10 -07:00
2007-07-06 11:35:10 -07:00
2009-02-06 18:25:08 +01:00
2009-02-14 12:09:35 +03:00
2007-07-23 23:35:43 -07:00
2007-06-07 20:25:22 +02:00
2007-07-11 18:45:35 -07:00
2007-11-02 13:40:34 +03:00
2007-08-31 16:59:07 +05:00
2009-03-10 12:53:43 -04:00
2007-10-26 08:42:33 +02:00
2007-03-21 09:13:05 +01:00
2008-01-27 16:41:29 +01:00
2007-11-05 20:18:22 +01:00
2007-11-20 20:15:20 +04:00
2009-02-27 18:07:58 +02:00
2009-02-27 16:11:15 +02:00
2007-11-30 18:06:28 +01:00
2008-04-04 01:16:55 +04:00
2007-06-06 18:55:21 +05:00
2009-02-09 21:52:40 +01:00
2008-08-26 14:21:07 +05:00
2007-04-17 12:32:01 +02:00
2008-03-14 20:51:32 +01:00
2007-03-29 09:08:30 +05:00
2009-03-27 15:58:34 +03:00
2007-06-03 15:56:48 +04:00
2008-06-27 20:56:41 +05:00