mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 14:32:34 +01:00
Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into weblab.(none):/home/marcsql/TREE/mysql-5.1-cleanup
This commit is contained in:
commit
ed9dcfb287
2 changed files with 49 additions and 18 deletions
|
@ -454,8 +454,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
|
|||
select definer, name, db from mysql.event;
|
||||
definer name db
|
||||
root@localhost закачка events_test
|
||||
"Should be only 1 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;
|
||||
"Should be only 0 process"
|
||||
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
|
||||
select release_lock("test_lock1");
|
||||
release_lock("test_lock1")
|
||||
|
@ -472,14 +475,15 @@ get_lock("test_lock2", 20)
|
|||
1
|
||||
"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);
|
||||
"Let some time pass to the event starts"
|
||||
"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
|
||||
event_scheduler localhost NULL Daemon Waiting for next activation NULL
|
||||
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."
|
||||
select release_lock("test_lock2");
|
||||
release_lock("test_lock2")
|
||||
1
|
||||
|
@ -489,14 +493,20 @@ select get_lock("test_lock2_1", 20);
|
|||
get_lock("test_lock2_1", 20)
|
||||
1
|
||||
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"
|
||||
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;
|
||||
"Should have only 2 processes: the scheduler and the locked event"
|
||||
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
|
||||
event_scheduler localhost NULL Daemon Waiting for next activation NULL
|
||||
root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
|
||||
set global event_scheduler=off;
|
||||
"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
|
||||
root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
|
||||
select release_lock("test_lock2_1");
|
||||
|
|
|
@ -432,8 +432,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
|
|||
--echo "Should return 1 row"
|
||||
select definer, name, db from mysql.event;
|
||||
|
||||
--echo "Should be only 1 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;
|
||||
--echo "Should be only 0 process"
|
||||
select /*1*/ user, host, db, command, state, info
|
||||
from information_schema.processlist
|
||||
where (user='event_scheduler')
|
||||
order by info;
|
||||
select release_lock("test_lock1");
|
||||
drop event закачка;
|
||||
--echo "Should have 0 events"
|
||||
|
@ -447,10 +450,16 @@ set global event_scheduler=on;
|
|||
select get_lock("test_lock2", 20);
|
||||
--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);
|
||||
--echo "Let some time pass to the event starts"
|
||||
--sleep 1
|
||||
|
||||
--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."
|
||||
select release_lock("test_lock2");
|
||||
drop event закачка;
|
||||
|
@ -466,16 +475,28 @@ drop event закачка;
|
|||
set global event_scheduler=1;
|
||||
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
|
||||
--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;
|
||||
|
||||
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
|
||||
|
||||
--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");
|
||||
drop event закачка21;
|
||||
let $wait_condition=
|
||||
|
|
Loading…
Add table
Reference in a new issue