~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to mysql-test/t/events_stress.test

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
ImportĀ upstreamĀ versionĀ 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Can't test with embedded server that doesn't support grants
 
2
--source include/not_embedded.inc
 
3
--source include/big_test.inc
 
4
 
 
5
CREATE DATABASE IF NOT EXISTS events_test;
 
6
#
 
7
# DROP DATABASE test start (bug #16406)
 
8
#
 
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"
 
23
--disable_query_log
 
24
let $1= 50;
 
25
while ($1)
 
26
{
 
27
  eval CREATE EVENT conn2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it1 VALUES("conn2_ev$1", NOW());
 
28
  dec $1;
 
29
}
 
30
--enable_query_log
 
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"
 
33
--disable_query_log
 
34
let $1= 50;
 
35
while ($1)
 
36
{
 
37
  eval CREATE EVENT conn3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it1 VALUES("conn3_ev$1", NOW());
 
38
  dec $1;
 
39
}
 
40
--enable_query_log
 
41
connection default;
 
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;
 
46
USE events_test;
 
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';
 
51
 
 
52
--echo "Now testing stability - dropping db -> events while they are running"
 
53
CREATE DATABASE events_conn1_test2;
 
54
USE events_conn1_test2;
 
55
--disable_query_log
 
56
let $1= 50;
 
57
while ($1)
 
58
{
 
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());
 
60
  dec $1;
 
61
}
 
62
--enable_query_log
 
63
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
 
64
SET GLOBAL event_scheduler=on;
 
65
--sleep 2.5
 
66
DROP DATABASE events_conn1_test2;
 
67
 
 
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;
 
72
--disable_query_log
 
73
let $1= 50;
 
74
while ($1)
 
75
{
 
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());
 
77
  dec $1;
 
78
}
 
79
--enable_query_log
 
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;
 
84
--disable_query_log
 
85
let $1= 50;
 
86
while ($1)
 
87
{
 
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());
 
89
  dec $1;
 
90
}
 
91
--enable_query_log
 
92
 
 
93
CREATE DATABASE events_conn1_test2;
 
94
USE events_conn1_test2;
 
95
--disable_query_log
 
96
let $1= 50;
 
97
while ($1)
 
98
{
 
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());
 
100
  dec $1;
 
101
}
 
102
--enable_query_log
 
103
SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
 
104
--sleep 2.5
 
105
connection conn2;
 
106
--send
 
107
DROP DATABASE events_conn2_db;
 
108
connection conn3;
 
109
--send
 
110
DROP DATABASE events_conn3_db;
 
111
connection default;
 
112
# --send
 
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;
 
118
connection conn2;
 
119
reap;
 
120
disconnect conn2;
 
121
connection conn3;
 
122
reap;
 
123
disconnect conn3;
 
124
connection default;
 
125
USE events_test;
 
126
DROP TABLE fill_it1;
 
127
DROP TABLE fill_it2;
 
128
DROP TABLE fill_it3;
 
129
--disable_query_log
 
130
DROP USER event_user2@localhost;
 
131
DROP USER event_user3@localhost;
 
132
--enable_query_log
 
133
#
 
134
# DROP DATABASE test end (bug #16406)
 
135
#
 
136
 
 
137
DROP DATABASE events_test;
 
138
 
 
139
# Cleanup
 
140
SET GLOBAL event_scheduler=off;
 
141
--source include/check_events_off.inc