~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

  • Committer: Brian Aker
  • Date: 2010-10-20 20:26:18 UTC
  • mfrom: (1859.2.13 refactor)
  • Revision ID: brian@tangent.org-20101020202618-9222n39lm329urv5
Merge for Brian 

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