1
SET @var="CREATE SCHEMA foomine";
2
EXECUTE @var CONCURRENT;
3
# YEs, this is a hack. Remember that foomine may or may not be around since
4
# it happens at the same time.
6
show schemas LIKE "foomine";
7
SET @var="DROP SCHEMA foomine";
8
EXECUTE @var CONCURRENT;
10
# Now lets see what the processlist shows.
11
SET @sleep="SELECT SLEEP(3)";
12
EXECUTE @sleep CONCURRENT;
13
SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST;
15
# Wait till we know the above is done (this will be replaced with broadcast() in the future)
18
# Check that a concurrent session cannot create one of itself, but can call
20
SET @var="EXECUTE \"SELECT SLEEP(3)\"";
21
EXECUTE @var CONCURRENT;
22
SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST;
24
# Wait till everything closes out
26
SET @var="EXECUTE \"SELECT SLEEP(3)\" CONCURRENT";
27
EXECUTE @var CONCURRENT;
28
SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST;
31
# Test multiple statements
33
SET @var="CREATE SCHEMA d; CREATE SCHEMA e;";
34
EXECUTE @var CONCURRENT;
36
# Wait for a second...
38
show schemas LIKE "d";
39
show schemas LIKE "e";
44
# We are now going to make sure that data is actually committed.
45
CREATE TABLE foo (a serial);
47
SET @var="INSERT INTO foo VALUES(); INSERT INTO foo VALUES ()";
48
EXECUTE @var CONCURRENT;
52
SET @var="SAVEPOINT mine; INSERT INTO foo VALUES(); INSERT INTO foo VALUES ()";
53
EXECUTE @var CONCURRENT;
57
SET @var="SAVEPOINT mine; INSERT INTO foo VALUES(); INSERT INTO foo VALUES (); RELEASE SAVEPOINT mine";
58
EXECUTE @var CONCURRENT;
62
SET @var="SAVEPOINT mine; INSERT INTO foo VALUES (); INSERT INTO foo VALUES (); ROLLBACK TO SAVEPOINT mine";
63
EXECUTE @var CONCURRENT;