~drizzle-trunk/drizzle/development

1933.1.7 by Brian Aker
Merge in wait_until command.
1
# we are going to have everything owned by a particular connection
2
connect (barrier_owner,localhost,root,,);
3
connection barrier_owner;
4
set @my_barrier= "barrier";
5
SELECT CREATE_BARRIER(@my_barrier);
6
7
connection default;
8
set @my_barrier= "barrier";
1996.1.1 by Brian Aker
Update name usage for user defined objects.
9
SELECT USER_BARRIER_NAME FROM DATA_DICTIONARY.USER_DEFINED_BARRIERS WHERE USER_BARRIER_NAME=@my_barrier;
1933.1.8 by Brian Aker
Updating so of the concurrency test.
10
SET @execute= "SELECT WAIT('barrier')";
11
SELECT SIGNAL(@my_barrier);
12
13
EXECUTE @execute CONCURRENT;
14
EXECUTE @execute CONCURRENT;
15
EXECUTE @execute CONCURRENT;
16
 
17
SELECT WAIT_UNTIL(@my_barrier, 3);
18
 
1933.1.7 by Brian Aker
Merge in wait_until command.
19
### Now lets see what the processlist shows.
1939.1.3 by Brian Aker
Fix tests so that they have ORDER BY on them.
20
SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST ORDER BY ID;
1933.1.8 by Brian Aker
Updating so of the concurrency test.
21
SELECT SIGNAL(@my_barrier);
1933.1.7 by Brian Aker
Merge in wait_until command.
22
23
## Wait till we know the above is done (this will be replaced with broadcast() in the future)
24
#EXECUTE @sleep;
25
#
26
## Check that a concurrent session cannot create one of itself, but can call
27
## execute.
28
#SET @var="EXECUTE \"SELECT SLEEP(3)\"";
29
#EXECUTE @var CONCURRENT;
30
#SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST;
31
#
32
## Wait till everything closes out
33
#EXECUTE @sleep;
34
#SET @var="EXECUTE \"SELECT SLEEP(3)\" CONCURRENT";
35
#EXECUTE @var CONCURRENT;
36
#SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST;
37
#
38
#
39
## Test multiple statements
40
#
41
#SET @var="CREATE SCHEMA d; CREATE SCHEMA e;";
42
#EXECUTE @var CONCURRENT;
43
#
44
## Wait for a second...
45
#EXECUTE @sleep;
46
#show schemas LIKE "d";
47
#show schemas LIKE "e";
48
#DROP SCHEMA d;
49
#DROP SCHEMA e;
50
#
51
#
52
## We are now going to make sure that data is actually committed.
53
#CREATE TABLE foo (a serial);
54
#
55
#SET @var="INSERT INTO foo VALUES(); INSERT INTO foo VALUES ()";
56
#EXECUTE @var CONCURRENT;
57
#EXECUTE @sleep;
58
#SELECT * FROM foo;
59
#
60
#SET @var="SAVEPOINT mine; INSERT INTO foo VALUES(); INSERT INTO foo VALUES ()";
61
#EXECUTE @var CONCURRENT;
62
#EXECUTE @sleep;
63
#SELECT * FROM foo;
64
#
65
#SET @var="SAVEPOINT mine; INSERT INTO foo VALUES(); INSERT INTO foo VALUES (); RELEASE SAVEPOINT mine";
66
#EXECUTE @var CONCURRENT;
67
#EXECUTE @sleep;
68
#SELECT * FROM foo;
69
#
70
#SET @var="SAVEPOINT mine; INSERT INTO foo VALUES (); INSERT INTO foo VALUES (); ROLLBACK TO SAVEPOINT mine";
71
#EXECUTE @var CONCURRENT;
72
#EXECUTE @sleep;
73
#SELECT * FROM foo;
74
#
75
#DROP TABLE foo;
76
#