1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Bug#9459 - deadlock with flush with lock, and lock table write

Added a check before taking a global read lock if
the own thread has a write locked table.


mysql-test/r/flush.result:
  Bug#9459 - deadlock with flush with lock, and lock table write
  The test result.
mysql-test/t/flush.test:
  Bug#9459 - deadlock with flush with lock, and lock table write
  The test case.
This commit is contained in:
unknown
2005-08-05 15:37:24 +02:00
parent 75c06af277
commit 2977a3a4b1
3 changed files with 69 additions and 0 deletions

View File

@@ -27,3 +27,24 @@ select * from t1;
n
345
drop table t1;
create table t1 (c1 int);
lock table t1 write;
flush tables with read lock;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
lock table t1 read;
flush tables with read lock;
lock table t1 write;
ERROR HY000: Can't execute the query because you have a conflicting read lock
lock table t1 read;
lock table t1 write;
ERROR HY000: Can't execute the query because you have a conflicting read lock
unlock tables;
create table t2 (c1 int);
create table t3 (c1 int);
lock table t1 read, t2 read, t3 write;
flush tables with read lock;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
lock table t1 read, t2 read, t3 read;
flush tables with read lock;
unlock tables;
drop table t1, t2, t3;