mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
008786aedb
Avoid race conditions between the test flow and events by waiting for all started events to finish execution after switching off event scheduler
47 lines
1.6 KiB
Text
47 lines
1.6 KiB
Text
--source include/not_embedded.inc
|
|
|
|
SET timestamp=UNIX_TIMESTAMP('2014-11-01 10:20:30');
|
|
SET GLOBAL event_scheduler=off;
|
|
|
|
CREATE TABLE t1 (a INT);
|
|
|
|
--error ER_WRONG_USAGE
|
|
CREATE OR REPLACE EVENT IF NOT EXISTS ev1 ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE db1;
|
|
|
|
CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (10);
|
|
SELECT EVENT_NAME, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
|
|
--source include/count_sessions.inc
|
|
SET GLOBAL event_scheduler=on;
|
|
let $wait_condition= SELECT count(*)>0 FROM t1;
|
|
--source include/wait_condition.inc
|
|
SELECT DISTINCT a FROM t1;
|
|
SET GLOBAL event_scheduler=off;
|
|
--source include/wait_until_count_sessions.inc
|
|
DELETE FROM t1;
|
|
|
|
--error ER_EVENT_ALREADY_EXISTS
|
|
CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (11);
|
|
SELECT EVENT_NAME, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
|
|
CREATE EVENT IF NOT EXISTS ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (12);
|
|
SELECT EVENT_NAME, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
|
|
CREATE OR REPLACE EVENT ev1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO t1 VALUES (13);
|
|
SELECT EVENT_NAME, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
|
|
|
|
SET GLOBAL event_scheduler=on;
|
|
let $wait_condition= SELECT count(*)>0 FROM t1;
|
|
--source include/wait_condition.inc
|
|
SELECT DISTINCT a FROM t1;
|
|
SET GLOBAL event_scheduler=off;
|
|
--source include/wait_until_count_sessions.inc
|
|
DELETE FROM t1;
|
|
|
|
DROP EVENT IF EXISTS ev1;
|
|
SELECT EVENT_NAME, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
|
|
DROP EVENT IF EXISTS ev1;
|
|
--error ER_EVENT_DOES_NOT_EXIST
|
|
DROP EVENT ev1;
|
|
SELECT EVENT_NAME, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS;
|
|
|
|
DROP TABLE t1;
|
|
|
|
SET timestamp=DEFAULT;
|