1
1
# we are going to have everything owned by a particular connection
2
connect (barrier_owner,localhost,root,,);
2
connect (barrier_owner,localhost,bob,,);
3
3
connection barrier_owner;
4
4
set @my_barrier= "barrier";
5
5
SELECT CREATE_BARRIER(@my_barrier);
6
SELECT USER_BARRIER_NAME FROM DATA_DICTIONARY.USER_DEFINED_BARRIERS WHERE USER_BARRIER_NAME=@my_barrier;
8
9
set @my_barrier= "barrier";
9
SELECT USER_BARRIER_NAME FROM DATA_DICTIONARY.USER_BARRIERS WHERE USER_BARRIER_NAME=@my_barrier;
10
SELECT USER_BARRIER_NAME FROM DATA_DICTIONARY.USER_DEFINED_BARRIERS WHERE USER_BARRIER_NAME=@my_barrier;
10
11
SET @execute= "SELECT WAIT('barrier')";
11
SELECT SIGNAL(@my_barrier);
13
EXECUTE @execute CONCURRENT;
14
EXECUTE @execute CONCURRENT;
15
EXECUTE @execute CONCURRENT;
17
SELECT WAIT_UNTIL(@my_barrier, 3);
19
### Now lets see what the processlist shows.
20
SELECT USER,INFO FROM DATA_DICTIONARY.PROCESSLIST ORDER BY ID;
21
SELECT SIGNAL(@my_barrier);
12
#SELECT SIGNAL(@my_barrier);
14
#EXECUTE @execute CONCURRENT;
15
#EXECUTE @execute CONCURRENT;
16
#EXECUTE @execute CONCURRENT;
18
#SELECT WAIT_UNTIL(@my_barrier, 3);
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)