~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
connect (con1,localhost,root,,);
2
connect (con2,localhost,root,,);
3
connection con1;
4
5
--disable_warnings
6
drop table if exists t1,t2;
7
drop database if exists mysqltest;
8
--enable_warnings
9
10
create temporary table t1(n int not null primary key);
11
create table t2(n int);
12
insert into t2 values(3);
13
let $1=100;
14
disable_query_log;
15
while ($1)
16
{
17
 connection con1;
18
 send replace into t1 select n from t2;
19
 connection con2;
20
 send flush tables;
21
 connection con1;
22
 reap;
23
 connection con2;
24
 reap;
25
 dec $1;
26
}
27
enable_query_log;
28
connection con1;
29
select * from t1;
30
connection con2;
31
flush tables with read lock;
1731.3.1 by Lee Bieber
change tests to use enum values instead of error numbers
32
--error ER_CANT_UPDATE_WITH_READLOCK
1 by brian
clean slate
33
drop table t2;
34
connection con1;
35
send drop table t2;
36
connection con2;
37
unlock tables;
38
connection con1;
39
reap;
40
41
#test if drop database will wait until we release the global read lock
42
connection con1;
43
create database mysqltest;
44
create table mysqltest.t1(n int);
45
insert into mysqltest.t1 values (23);
46
flush tables with read lock;
47
connection con2;
48
send drop database mysqltest;
49
connection con1;
50
select * from mysqltest.t1;
51
unlock tables;
52
connection con2;
53
reap;
54
718 by Brian Aker
Fix for FLUSH TABLE WITH READ LOCK
55
## test if dirty close releases global read lock
56
#connection con1;
57
#create table t1 (n int);
58
#flush tables with read lock;
59
#dirty_close con1;
60
#connection con2;
61
#insert into t1 values (345);
62
#select * from t1;
63
#drop table t1;
1 by brian
clean slate
64
65
# End of 4.1 tests
66
67
#
68
# Test of deadlock problem when doing FLUSH TABLE with read lock
69
# (Bug was in NTPL threads in Linux when using different mutex while
70
#  waiting for a condtion variable)
71
72
create table t1 (c1 int);
73
create table t2 (c1 int);
74
75
connect (con3,localhost,root,,);
76
77
connection con1;
78
79
connection con2;
80
send flush tables with read lock;
81
82
connection con3;
83
send insert into t2 values(1);
84
85
connection con1;
2196.2.3 by Stewart Smith
throw an error on UNLOCK TABLES not unlocking anything
86
--error ER_NO_LOCK_HELD
1 by brian
clean slate
87
unlock tables;
88
disconnect con1;
89
90
connection con2;
91
reap;
92
disconnect con2;
93
94
connection con3;
95
# It hangs here (insert into t2 does not end).
96
reap;
97
disconnect con3;
98
99
connection default;
100
drop table t1, t2;
101
102
#
103
# Bug #33334 mysqltest_embedded crashes when disconnecting before reap
104
#
105
106
connect (con1,localhost,root,,);
107
send select benchmark(200, (select sin(1))) > 1000;
108
disconnect con1;
109
connection default;
110
111
--echo End of 5.0 tests
112