Commit ddb2ce8f authored by thek@adventure.(none)'s avatar thek@adventure.(none)

Bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist"

Test case contains possible race conditions. This patch fixes these race
conditions and also adjust the test to execute according to its documentation.
parent 400aec95
......@@ -499,6 +499,9 @@ set global event_scheduler=off;
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;
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");
release_lock("test_lock2_1")
1
drop event закачка21;
create table t_16 (s1 int);
create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5;
......
......@@ -466,13 +466,17 @@ 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);
--sleep 1
let $wait_condition= select count(*) = 3 from information_schema.processlist;
--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;
set global event_scheduler=off;
--sleep 0.8
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;
--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 release_lock("test_lock2_1");
drop event закачка21;
let $wait_condition=
select count(*) = 0 from information_schema.processlist
......
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