diff --git a/mysql-test/r/events.result b/mysql-test/r/events.result index 6132e4def77..be547e5e9b9 100644 --- a/mysql-test/r/events.result +++ b/mysql-test/r/events.result @@ -389,10 +389,9 @@ 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" -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist +"Should be 0 processes" +select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info select release_lock("test_lock1"); release_lock("test_lock1") 1 @@ -409,12 +408,11 @@ get_lock("test_lock2", 20) "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 3 processes: the scheduler, our conn and the locked event" -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL -# root localhost events_test Connect # User lock select get_lock("test_lock2", 20) +"Should have only 2 processes: the scheduler and the locked event" +select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL +root localhost events_test Connect User lock select get_lock("test_lock2", 20) "Release the mutex, the event worker should finish." select release_lock("test_lock2"); release_lock("test_lock2") @@ -425,23 +423,21 @@ 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 see 2 processes, one locked on get_lock(" +"Should see 1 process, locked on get_lock(" "Shutting down the scheduler, it should wait for the running event" set global event_scheduler=0; -"Should have only 3 processes: the scheduler, our conn and the locked event" -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL -# root localhost events_test Connect # User lock select get_lock("test_lock2_1", 20) +"Should have only 2 processes: the scheduler and the locked event" +select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL +root localhost events_test Connect User lock select get_lock("test_lock2_1", 20) "Release the lock so the child process should finish. Hence the scheduler also" select release_lock("test_lock2_1"); release_lock("test_lock2_1") 1 -"Should have only our process now:" -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist +"Should see 0 processes now:" +select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info 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; diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result index a8d4bd19576..5e58cfa2005 100644 --- a/mysql-test/r/events_bugs.result +++ b/mysql-test/r/events_bugs.result @@ -50,11 +50,10 @@ select get_lock('test_bug16407', 60); drop table "hashed_num"; end| "Now if everything is fine the event has compiled and is locked -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL -# root localhost events_test Connect # User lock select get_lock('test_bug16407', 60) +select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL +root localhost events_test Connect User lock select get_lock('test_bug16407', 60) select release_lock('test_bug16407'); release_lock('test_bug16407') 1 @@ -75,7 +74,7 @@ create table events_smode_test(ev_name char(10), a date) engine=myisam; "This should never insert something" create event ee_16407_2 on schedule every 60 second do begin -select get_lock('ee_16407_2', 60); +select get_lock('ee_16407_2', 60) /*ee_16407_2*/; insert into events_test.events_smode_test values('ee_16407_2','1980-19-02'); end| insert into events_smode_test values ('test','1980-19-02')| @@ -83,7 +82,7 @@ ERROR 22007: Incorrect date value: '1980-19-02' for column 'a' at row 1 "This is ok" create event ee_16407_3 on schedule every 60 second do begin -select get_lock('ee_16407_2', 60); +select get_lock('ee_16407_2', 60) /*ee_16407_3*/; insert into events_test.events_smode_test values ('ee_16407_3','1980-02-19'); insert into events_test.events_smode_test values ('ee_16407_3','1980-02-29'); end| @@ -91,7 +90,7 @@ set sql_mode=""| "This will insert rows but they will be truncated" create event ee_16407_4 on schedule every 60 second do begin -select get_lock('ee_16407_2', 60); +select get_lock('ee_16407_2', 60) /*ee_16407_4*/; insert into events_test.events_smode_test values ('ee_16407_4','10-11-1956'); end| select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name; @@ -104,20 +103,18 @@ select get_lock('ee_16407_2', 60); get_lock('ee_16407_2', 60) 1 set global event_scheduler= 1; -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL -# root localhost events_test Connect # User lock select get_lock('ee_16407_2', 60) -# root localhost events_test Connect # User lock select get_lock('ee_16407_2', 60) -# root localhost events_test Connect # User lock select get_lock('ee_16407_2', 60) +select /*2*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL +root localhost events_test Connect User lock select get_lock('ee_16407_2', 60) /*ee_16407_2*/ +root localhost events_test Connect User lock select get_lock('ee_16407_2', 60) /*ee_16407_3*/ +root localhost events_test Connect User lock select get_lock('ee_16407_2', 60) /*ee_16407_4*/ select release_lock('ee_16407_2'); release_lock('ee_16407_2') 1 -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL +select /*3*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL set global event_scheduler= 0; select * from events_smode_test order by ev_name, a; ev_name a @@ -140,12 +137,12 @@ create procedure ee_16407_5_pendant() begin insert into events_test.events_smode create procedure ee_16407_6_pendant() begin insert into events_test.events_smode_test values('ee_16407_6','2004-02-29'); end| create event ee_16407_5 on schedule every 60 second do begin -select get_lock('ee_16407_5', 60); +select get_lock('ee_16407_5', 60) /*ee_16407_5*/; call events_test.ee_16407_5_pendant(); end| create event ee_16407_6 on schedule every 60 second do begin -select get_lock('ee_16407_5', 60); +select get_lock('ee_16407_5', 60) /*ee_16407_6*/; call events_test.ee_16407_6_pendant(); end| set sql_mode='ansi'; @@ -153,19 +150,19 @@ select get_lock('ee_16407_5', 60); get_lock('ee_16407_5', 60) 1 set global event_scheduler= 1; -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL -# root localhost events_test Connect # User lock select get_lock('ee_16407_5', 60) -# root localhost events_test Connect # User lock select get_lock('ee_16407_5', 60) +"Should have 2 locked processes" +select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL +root localhost events_test Connect User lock select get_lock('ee_16407_5', 60) /*ee_16407_5*/ +root localhost events_test Connect User lock select get_lock('ee_16407_5', 60) /*ee_16407_6*/ select release_lock('ee_16407_5'); release_lock('ee_16407_5') 1 -show processlist; -Id User Host db Command Time State Info -# root localhost events_test Query # NULL show processlist -# event_scheduler localhost NULL Connect # Sleeping NULL +"Should have 0 processes locked" +select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db command state info +event_scheduler localhost NULL Connect Sleeping NULL select * from events_smode_test order by ev_name, a; ev_name a ee_16407_6 2004-02-29 diff --git a/mysql-test/t/events.test b/mysql-test/t/events.test index 6036dcb3000..755d4e7775b 100644 --- a/mysql-test/t/events.test +++ b/mysql-test/t/events.test @@ -341,9 +341,8 @@ 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" ---replace_column 1 # 6 # -show processlist; +--echo "Should be 0 processes" +select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock("test_lock1"); drop event закачка; --echo "Should have 0 events" @@ -359,9 +358,8 @@ 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 2 ---echo "Should have only 3 processes: the scheduler, our conn and the locked event" ---replace_column 1 # 6 # -show processlist; +--echo "Should have only 2 processes: the scheduler and the locked event" +select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; --echo "Release the mutex, the event worker should finish." select release_lock("test_lock2"); drop event закачка; @@ -378,21 +376,18 @@ 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 ---echo "Should see 2 processes, one locked on get_lock(" -#--replace_column 1 # 6 # -#show processlist; +--echo "Should see 1 process, locked on get_lock(" +#select /*3*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; --echo "Shutting down the scheduler, it should wait for the running event" set global event_scheduler=0; --sleep 1 ---echo "Should have only 3 processes: the scheduler, our conn and the locked event" ---replace_column 1 # 6 # -show processlist; +--echo "Should have only 2 processes: the scheduler and the locked event" +select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; --echo "Release the lock so the child process should finish. Hence the scheduler also" select release_lock("test_lock2_1"); --sleep 1 ---echo "Should have only our process now:" ---replace_column 1 # 6 # -show processlist; +--echo "Should see 0 processes now:" +select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; drop event закачка21; #### @@ -441,7 +436,7 @@ drop event e1; ##select get_lock("test_lock3", 20); ##create event закачка on schedule every 10 hour do select get_lock("test_lock3", 20); ##select sleep(2); -##show processlist; +##select /*7*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; ##drop event закачка; ##select release_lock("test_lock3"); @@ -451,15 +446,13 @@ drop event e1; ##select get_lock("test_lock4", 20); ##create event закачка4 on schedule every 1 second do select get_lock("test_lock4", 20); ##select sleep(3); -##--replace_column 1 # 6 # -##show processlist; +##select /*8*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; ##drop event закачка4; ##select release_lock("test_lock4"); ##set global event_scheduler=0; ##select sleep(2); -##--replace_column 1 # 6 # -##show processlist; +##select /*9*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; ##select count(*) from mysql.event; drop database events_test; diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test index 690f9f3df6f..3f339ff0398 100644 --- a/mysql-test/t/events_bugs.test +++ b/mysql-test/t/events_bugs.test @@ -77,8 +77,7 @@ end| delimiter ;| --sleep 1 --echo "Now if everything is fine the event has compiled and is locked ---replace_column 1 # 6 # -show processlist; +select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock('test_bug16407'); set global event_scheduler= 0; select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name; @@ -95,7 +94,7 @@ create table events_smode_test(ev_name char(10), a date) engine=myisam; delimiter |; create event ee_16407_2 on schedule every 60 second do begin - select get_lock('ee_16407_2', 60); + select get_lock('ee_16407_2', 60) /*ee_16407_2*/; insert into events_test.events_smode_test values('ee_16407_2','1980-19-02'); end| --error ER_TRUNCATED_WRONG_VALUE @@ -103,7 +102,7 @@ insert into events_smode_test values ('test','1980-19-02')| --echo "This is ok" create event ee_16407_3 on schedule every 60 second do begin - select get_lock('ee_16407_2', 60); + select get_lock('ee_16407_2', 60) /*ee_16407_3*/; insert into events_test.events_smode_test values ('ee_16407_3','1980-02-19'); insert into events_test.events_smode_test values ('ee_16407_3','1980-02-29'); end| @@ -111,7 +110,7 @@ set sql_mode=""| --echo "This will insert rows but they will be truncated" create event ee_16407_4 on schedule every 60 second do begin - select get_lock('ee_16407_2', 60); + select get_lock('ee_16407_2', 60) /*ee_16407_4*/; insert into events_test.events_smode_test values ('ee_16407_4','10-11-1956'); end| delimiter ;| @@ -120,12 +119,10 @@ set sql_mode="ansi"; select get_lock('ee_16407_2', 60); set global event_scheduler= 1; --sleep 1 ---replace_column 1 # 6 # -show processlist; +select /*2*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock('ee_16407_2'); --sleep 3 ---replace_column 1 # 6 # -show processlist; +select /*3*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; set global event_scheduler= 0; select * from events_smode_test order by ev_name, a; --echo "OK, last check before we drop them" @@ -143,12 +140,12 @@ create procedure ee_16407_5_pendant() begin insert into events_test.events_smode create procedure ee_16407_6_pendant() begin insert into events_test.events_smode_test values('ee_16407_6','2004-02-29'); end| create event ee_16407_5 on schedule every 60 second do begin - select get_lock('ee_16407_5', 60); + select get_lock('ee_16407_5', 60) /*ee_16407_5*/; call events_test.ee_16407_5_pendant(); end| create event ee_16407_6 on schedule every 60 second do begin - select get_lock('ee_16407_5', 60); + select get_lock('ee_16407_5', 60) /*ee_16407_6*/; call events_test.ee_16407_6_pendant(); end| delimiter ;| @@ -156,12 +153,12 @@ set sql_mode='ansi'; select get_lock('ee_16407_5', 60); set global event_scheduler= 1; --sleep 1 ---replace_column 1 # 6 # -show processlist; +--echo "Should have 2 locked processes" +select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock('ee_16407_5'); --sleep 3 ---replace_column 1 # 6 # -show processlist; +--echo "Should have 0 processes locked" +select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select * from events_smode_test order by ev_name, a; --echo "And here we check one more time before we drop the events" select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;