# 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.inc connect (con1,localhost,root,,); connect (con2,localhost,root,,); connection con1; --disable_warnings drop table if exists t1,t2; drop database if exists mysqltest; --enable_warnings create 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 1099; drop 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 lock connection 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 lock connection 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;