📄 flush.test
字号:
# This test doesn't work with the embedded version as this code# assumes that one query is running while we are doing queries on# a second connection.# This would work if mysqltest run would be threaded and handle each# connection in a separate thread.#-- source include/not_embedded.incconnect (con1,localhost,root,,);connect (con2,localhost,root,,);connection con1;--disable_warningsdrop table if exists t1,t2;drop database if exists mysqltest;--enable_warningscreate temporary table t1(n int not null primary key);create table t2(n int);insert into t2 values(3);let $1=100;disable_query_log;while ($1){ connection con1; send replace into t1 select n from t2; connection con2; send flush tables; connection con1; reap; connection con2; reap; dec $1;}enable_query_log;connection con1;select * from t1;connection con2;flush tables with read lock;--error 1223drop table t2;connection con1;send drop table t2;connection con2;unlock tables;connection con1;reap;#test if drop database will wait until we release the global read lockconnection con1;create database mysqltest;create table mysqltest.t1(n int);insert into mysqltest.t1 values (23);flush tables with read lock;connection con2;send drop database mysqltest;connection con1;select * from mysqltest.t1;unlock tables;connection con2;reap;# test if dirty close releases global read lockconnection con1;create table t1 (n int);flush tables with read lock;dirty_close con1;connection con2;insert into t1 values (345);select * from t1;drop table t1;## Bug#9459 - deadlock with flush with lock, and lock table write#create table t1 (c1 int);lock table t1 write;# Cannot get the global read lock with write locked tables.--error 1192flush tables with read lock;lock table t1 read;# Can get the global read lock with read locked tables.flush tables with read lock;--error 1223lock table t1 write;lock table t1 read;--error 1223lock table t1 write;# Release all table locks and the global read lock.unlock tables;create table t2 (c1 int);create table t3 (c1 int);lock table t1 read, t2 read, t3 write;# Cannot get the global read lock with write locked tables.--error 1192flush tables with read lock;lock table t1 read, t2 read, t3 read;# Can get the global read lock with read locked tables.flush tables with read lock;# Release all table locks and the global read lock.unlock tables;drop table t1, t2, t3;# End of 4.1 tests
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -