1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Files
mariadb/sql
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
..
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2007-07-12 00:55:40 +05:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2009-03-19 09:44:58 -04:00
2007-11-05 20:18:22 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2008-12-12 14:59:10 +04:00
2008-04-10 15:55:37 -04:00
2009-03-19 09:44:58 -04:00
2009-01-16 16:48:41 +02:00
2006-12-23 20:17:15 +01:00
2009-03-19 09:44:58 -04:00
2009-02-06 18:25:08 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2009-04-01 16:02:26 +05:00
2009-04-01 16:02:26 +05:00
2009-03-19 09:44:58 -04:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2009-03-19 09:44:58 -04:00
2009-03-19 09:44:58 -04:00
2006-12-31 01:02:27 +01:00
2009-03-19 09:44:58 -04:00
2008-03-18 16:38:12 +04:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2006-12-23 20:17:15 +01:00
2008-01-23 13:26:41 -07:00
2006-12-23 20:17:15 +01:00
2009-03-19 09:44:58 -04:00
2006-12-23 20:17:15 +01:00
2009-03-19 09:44:58 -04:00
2009-03-25 21:50:42 +04:00
2009-03-25 21:50:42 +04:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2009-03-19 09:44:58 -04:00
2009-03-27 16:25:16 +02:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2009-03-19 09:44:58 -04:00
2007-07-01 15:33:28 -07:00
2006-12-23 20:17:15 +01:00
2009-03-19 09:44:58 -04:00
2009-03-19 09:44:58 -04:00
2006-12-31 01:02:27 +01:00
2008-09-16 13:16:41 +02:00
2007-03-22 20:32:07 +02:00
2009-03-19 09:44:58 -04:00
2006-12-23 20:17:15 +01:00