~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/suite/execute/t/concurrent.test

  • Committer: Monty Taylor
  • Date: 2010-09-26 21:24:15 UTC
  • mto: (1796.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 1797.
  • Revision ID: mordred@inaugust.com-20100926212415-5fn3p3q75pgiei7r
Moved protocol doc into the docs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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";
9
 
SELECT USER_BARRIER_NAME FROM DATA_DICTIONARY.USER_DEFINED_BARRIERS WHERE USER_BARRIER_NAME=@my_barrier;
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
 
 
19
 
### Now lets see what the processlist shows.
20
 
SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST ORDER BY ID;
21
 
SELECT SIGNAL(@my_barrier);
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
 
#