~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
# TODO: Only run this if we have privilege to do flush table
2
3
#
4
# Test of flush table
5
#
6
7
--disable_warnings
8
drop table if exists t1,t2;
9
--enable_warnings
10
create table t1 (a int not null auto_increment primary key);
11
insert into t1 values(0);
12
13
# Test for with read lock + flush
14
15
lock table t1 read;
16
flush table t1;
17
check table t1;
18
unlock tables;
19
20
# Test for with 2 read lock in different thread + flush
21
22
lock table t1 read;
23
connect (locker,localhost,root,,test);
24
connection locker;
25
lock table t1 read;
26
connection default;
27
send flush table t1;
28
connection locker;
29
--sleep 2
30
select * from t1;
31
unlock tables;
32
connection default;
33
reap;
34
select * from t1;
35
unlock tables;
36
37
# Test for with a write lock and a waiting read lock + flush
38
39
lock table t1 write;
40
connection locker;
41
send lock table t1 read;
42
connection default;
43
sleep 2;
44
flush table t1;
45
select * from t1;
46
unlock tables;
47
connection locker;
48
reap;
49
unlock tables;
50
connection default;
51
52
# Test for with a read lock and a waiting write lock + flush
53
54
lock table t1 read;
55
connection locker;
56
send lock table t1 write;
57
connection default;
58
sleep 2;
59
flush table t1;
60
select * from t1;
61
unlock tables;
62
connection locker;
63
reap;
64
unlock tables;
65
select * from t1;
66
connection default;
67
drop table t1;
68
disconnect locker;
69
70
#
71
# Bug #11934 Two sequential FLUSH TABLES WITH READ LOCK hangs client
72
#
73
FLUSH TABLES WITH READ LOCK ;
74
FLUSH TABLES WITH READ LOCK ;
75
UNLOCK TABLES;
76
77
# End of 4.1 tests