2001-10-08 03:58:07 +02:00
|
|
|
# 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
|
|
|
|
|
2002-08-30 20:32:59 +02:00
|
|
|
drop table if exists t1;
|
2001-10-08 03:58:07 +02:00
|
|
|
#test to see if select will get the lock ahead of low priority update
|
|
|
|
|
|
|
|
connect (locker,localhost,root,,);
|
|
|
|
connect (reader,localhost,root,,);
|
|
|
|
connect (writer,localhost,root,,);
|
|
|
|
|
|
|
|
connection locker;
|
|
|
|
create table t1(n int);
|
|
|
|
insert into t1 values (1);
|
|
|
|
lock tables t1 write;
|
|
|
|
connection writer;
|
|
|
|
send update low_priority t1 set n = 4;
|
|
|
|
connection reader;
|
|
|
|
--sleep 2
|
|
|
|
send select n from t1;
|
|
|
|
connection locker;
|
|
|
|
--sleep 2
|
|
|
|
unlock tables;
|
|
|
|
connection writer;
|
|
|
|
reap;
|
|
|
|
connection reader;
|
|
|
|
reap;
|
|
|
|
drop table t1;
|
|
|
|
|
|
|
|
connection locker;
|
|
|
|
create table t1(n int);
|
|
|
|
insert into t1 values (1);
|
|
|
|
lock tables t1 read;
|
|
|
|
connection writer;
|
|
|
|
send update low_priority t1 set n = 4;
|
|
|
|
connection reader;
|
|
|
|
--sleep 2
|
|
|
|
send select n from t1;
|
|
|
|
connection locker;
|
|
|
|
--sleep 2
|
|
|
|
unlock tables;
|
|
|
|
connection writer;
|
|
|
|
reap;
|
|
|
|
connection reader;
|
|
|
|
reap;
|
|
|
|
drop table t1;
|