1
# Can't test with embedded server that doesn't support grants
2
--source include/not_embedded.inc
3
--source include/big_test.inc
5
CREATE DATABASE IF NOT EXISTS events_test;
7
# DROP DATABASE test start (bug #16406)
9
CREATE DATABASE events_conn1_test2;
10
# BUG#20676: MySQL in debug mode has a limit of 100 waiters
11
# (in mysys/thr_lock.c), so use three different tables to insert into.
12
CREATE TABLE events_test.fill_it1(test_name varchar(20), occur datetime);
13
CREATE TABLE events_test.fill_it2(test_name varchar(20), occur datetime);
14
CREATE TABLE events_test.fill_it3(test_name varchar(20), occur datetime);
15
CREATE USER event_user2@localhost;
16
CREATE DATABASE events_conn2_db;
17
GRANT ALL ON *.* TO event_user2@localhost;
18
CREATE USER event_user3@localhost;
19
CREATE DATABASE events_conn3_db;
20
GRANT ALL ON *.* TO event_user3@localhost;
21
connect (conn2,localhost,event_user2,,events_conn2_db);
22
--echo "In the second connection we create some events which won't be dropped till the end"
27
eval CREATE EVENT conn2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it1 VALUES("conn2_ev$1", NOW());
31
connect (conn3,localhost,event_user3,,events_conn3_db);
32
--echo "In the second connection we create some events which won't be dropped till the end"
37
eval CREATE EVENT conn3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it1 VALUES("conn3_ev$1", NOW());
42
USE events_conn1_test2;
43
CREATE EVENT ev_drop1 ON SCHEDULE EVERY 10 MINUTE DISABLE DO SELECT 1;
44
CREATE EVENT ev_drop2 ON SCHEDULE EVERY 10 MINUTE DISABLE DO SELECT 1;
45
CREATE EVENT ev_drop3 ON SCHEDULE EVERY 10 MINUTE DISABLE DO SELECT 1;
47
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS;
48
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
49
DROP DATABASE events_conn1_test2;
50
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
52
--echo "Now testing stability - dropping db -> events while they are running"
53
CREATE DATABASE events_conn1_test2;
54
USE events_conn1_test2;
59
eval CREATE EVENT conn1_round1_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it2 VALUES("conn1_round1_ev$1", NOW());
63
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
64
SET GLOBAL event_scheduler=on;
66
DROP DATABASE events_conn1_test2;
68
SET GLOBAL event_scheduler=off;
69
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
70
CREATE DATABASE events_conn1_test3;
71
USE events_conn1_test3;
76
eval CREATE EVENT conn1_round2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it2 VALUES("conn1_round2_ev$1", NOW());
80
SET GLOBAL event_scheduler=on;
81
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test3';
82
CREATE DATABASE events_conn1_test4;
83
USE events_conn1_test4;
88
eval CREATE EVENT conn1_round3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it3 VALUES("conn1_round3_ev$1", NOW());
93
CREATE DATABASE events_conn1_test2;
94
USE events_conn1_test2;
99
eval CREATE EVENT ev_round4_drop$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it3 VALUES("conn1_round4_ev$1", NOW());
103
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
107
DROP DATABASE events_conn2_db;
110
DROP DATABASE events_conn3_db;
113
DROP DATABASE events_conn1_test2;
114
DROP DATABASE events_conn1_test3;
115
SET GLOBAL event_scheduler=off;
116
DROP DATABASE events_conn1_test4;
117
SET GLOBAL event_scheduler=on;
130
DROP USER event_user2@localhost;
131
DROP USER event_user3@localhost;
134
# DROP DATABASE test end (bug #16406)
137
DROP DATABASE events_test;
140
SET GLOBAL event_scheduler=off;
141
--source include/check_events_off.inc