mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 19:41:47 +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;
|
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)
|
||||||
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);
|
||||||
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
|
||||||
--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;
|
||||||
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 закачка;
|
||||||
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=
|
||||||
|
|
Loading…
Add table
Reference in a new issue