Commit ed9dcfb2 authored by unknown's avatar unknown

Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime

into  weblab.(none):/home/marcsql/TREE/mysql-5.1-cleanup

parents a4b0ad6c 3d15ac95
...@@ -454,8 +454,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l ...@@ -454,8 +454,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
select definer, name, db from mysql.event; select definer, name, db from mysql.event;
definer name db definer name db
root@localhost закачка events_test root@localhost закачка events_test
"Should be only 1 process" "Should be only 0 process"
select /*1*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*1*/ user, host, db, command, state, info
from information_schema.processlist
where (user='event_scheduler')
order by info;
user host db command state info user host db command state info
select release_lock("test_lock1"); select release_lock("test_lock1");
release_lock("test_lock1") release_lock("test_lock1")
...@@ -472,14 +475,15 @@ get_lock("test_lock2", 20) ...@@ -472,14 +475,15 @@ get_lock("test_lock2", 20)
1 1
"Create an event which tries to acquire a mutex. The event locks on the mutex" "Create an event which tries to acquire a mutex. The event locks on the mutex"
create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20); create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
"Let some time pass to the event starts"
"Should have only 2 processes: the scheduler and the locked event" "Should have only 2 processes: the scheduler and the locked event"
select /*2*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*2*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
user host db command state info user host db command state info
event_scheduler localhost NULL Daemon Waiting for next activation NULL event_scheduler localhost NULL Daemon Waiting for next activation NULL
root localhost events_test Connect User lock select get_lock("test_lock2", 20) root localhost events_test Connect User lock select get_lock("test_lock2", 20)
"Release the mutex, the event worker should finish." "Release the mutex, the event worker should finish."
"Release the mutex, the event worker should finish."
select release_lock("test_lock2"); select release_lock("test_lock2");
release_lock("test_lock2") release_lock("test_lock2")
1 1
...@@ -489,14 +493,20 @@ select get_lock("test_lock2_1", 20); ...@@ -489,14 +493,20 @@ select get_lock("test_lock2_1", 20);
get_lock("test_lock2_1", 20) get_lock("test_lock2_1", 20)
1 1
create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20); create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
"Should have only 3 processes: the scheduler, our conn and the locked event" "Should have only 2 processes: the scheduler and the locked event"
select /*3*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*3*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
user host db command state info user host db command state info
event_scheduler localhost NULL Daemon Waiting for next activation NULL event_scheduler localhost NULL Daemon Waiting for next activation NULL
root localhost events_test Connect User lock select get_lock("test_lock2_1", 20) root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
set global event_scheduler=off; set global event_scheduler=off;
"Should have only our process now:" "Should have only our process now:"
select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*4*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
user host db command state info user host db command state info
root localhost events_test Connect User lock select get_lock("test_lock2_1", 20) root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
select release_lock("test_lock2_1"); select release_lock("test_lock2_1");
......
...@@ -432,8 +432,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l ...@@ -432,8 +432,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
--echo "Should return 1 row" --echo "Should return 1 row"
select definer, name, db from mysql.event; select definer, name, db from mysql.event;
--echo "Should be only 1 process" --echo "Should be only 0 process"
select /*1*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*1*/ user, host, db, command, state, info
from information_schema.processlist
where (user='event_scheduler')
order by info;
select release_lock("test_lock1"); select release_lock("test_lock1");
drop event закачка; drop event закачка;
--echo "Should have 0 events" --echo "Should have 0 events"
...@@ -447,10 +450,16 @@ set global event_scheduler=on; ...@@ -447,10 +450,16 @@ set global event_scheduler=on;
select get_lock("test_lock2", 20); select get_lock("test_lock2", 20);
--echo "Create an event which tries to acquire a mutex. The event locks on the mutex" --echo "Create an event which tries to acquire a mutex. The event locks on the mutex"
create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20); create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
--echo "Let some time pass to the event starts"
--sleep 1
--echo "Should have only 2 processes: the scheduler and the locked event" --echo "Should have only 2 processes: the scheduler and the locked event"
select /*2*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;--echo "Release the mutex, the event worker should finish." let $wait_condition= select count(*) = 2 from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler');
--source include/wait_condition.inc
select /*2*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
--echo "Release the mutex, the event worker should finish." --echo "Release the mutex, the event worker should finish."
select release_lock("test_lock2"); select release_lock("test_lock2");
drop event закачка; drop event закачка;
...@@ -466,16 +475,28 @@ drop event закачка; ...@@ -466,16 +475,28 @@ drop event закачка;
set global event_scheduler=1; set global event_scheduler=1;
select get_lock("test_lock2_1", 20); select get_lock("test_lock2_1", 20);
create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20); create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
let $wait_condition= select count(*) = 3 from information_schema.processlist;
--echo "Should have only 2 processes: the scheduler and the locked event"
let $wait_condition= select count(*) = 2 from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler');
--source include/wait_condition.inc --source include/wait_condition.inc
--echo "Should have only 3 processes: the scheduler, our conn and the locked event"
select /*3*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*3*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
set global event_scheduler=off; set global event_scheduler=off;
let $wait_condition= select count(*) =1 from information_schema.processlist let $wait_condition= select count(*) =1 from information_schema.processlist
where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; where (info like "select get_lock%" OR user='event_scheduler');
--source include/wait_condition.inc --source include/wait_condition.inc
--echo "Should have only our process now:" --echo "Should have only our process now:"
select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; select /*4*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
select release_lock("test_lock2_1"); select release_lock("test_lock2_1");
drop event закачка21; drop event закачка21;
let $wait_condition= let $wait_condition=
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment