summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/events_restart.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/events_restart.test')
-rw-r--r--mysql-test/main/events_restart.test174
1 files changed, 0 insertions, 174 deletions
diff --git a/mysql-test/main/events_restart.test b/mysql-test/main/events_restart.test
deleted file mode 100644
index 6f7c01d8..00000000
--- a/mysql-test/main/events_restart.test
+++ /dev/null
@@ -1,174 +0,0 @@
-# Can't test with embedded server that doesn't support grants
--- source include/not_embedded.inc
-call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted");
-
-let $collation_server=`select @@collation_server`;
-#
-# Test that when the server is restarted, it checks mysql.event table,
-# and disables the scheduler if it's not up to date.
-#
-
-# Switch off the scheduler for now.
-set global event_scheduler=off;
-
---disable_warnings
-drop database if exists events_test;
---enable_warnings
-create database events_test;
-use events_test;
-create table execution_log(name char(10));
-
-create event abc1 on schedule every 1 second do
- insert into execution_log value('abc1');
-create event abc2 on schedule every 1 second do
- insert into execution_log value('abc2');
-create event abc3 on schedule every 1 second do
- insert into execution_log value('abc3');
-#
-# There are various conditions when a server would regard mysql.event
-# table as damaged:
-# - the table has more column than specified in the compiled in value, but
-# the version of the server which created the table is the same
-# - the column count in the table is less than the compiled in value
-# - some column has an incompatible type specification (for what is an
-# incompatible type specification please refer to the comments in the source
-#
-# Unfortunately, in order to test a condition, we need to restart the
-# server. Therefore, here we test only one simple case: changing the data
-# type of the 'body' field to blob.
-#
-# First, let's do a backup to not depend on actual definition of mysql.event
-create table event_like like mysql.event;
-insert into event_like select * from mysql.event;
-# Now let's alter the table and restart the server
-alter table mysql.event
- change column body body longtext character set utf8 collate utf8_bin;
---echo "Now we restart the server"
-
-call mtr.add_suppression("Incorrect definition of table mysql.event:.*");
---source include/restart_mysqld.inc
-
-use events_test;
-# Event scheduler should be disabled: the system tables are damaged
-select @@event_scheduler;
-# Try various Event Scheduler operation and check the output.
---error ER_EVENTS_DB_ERROR
-show events;
---error ER_EVENTS_DB_ERROR
-select event_name from information_schema.events;
---error ER_EVENTS_DB_ERROR
-show create event intact_check;
---error ER_EVENTS_DB_ERROR
-drop event no_such_event;
---error ER_EVENTS_DB_ERROR
-create event intact_check_1 on schedule every 5 hour do select 5;
---error ER_EVENTS_DB_ERROR
-alter event intact_check_1 on schedule every 8 hour do select 8;
---error ER_EVENTS_DB_ERROR
-alter event intact_check_1 rename to intact_check_2;
---error ER_EVENTS_DB_ERROR
-drop event intact_check_1;
---error ER_EVENTS_DB_ERROR
-drop event intact_check_2;
---error ER_EVENTS_DB_ERROR
-drop event intact_check;
---error ER_STARTUP
-set global event_scheduler=on;
---error ER_STARTUP
-set global event_scheduler=off;
-show variables like 'event_scheduler';
---echo Make sure that we still can create and drop databases,
---echo and no warnings are produced.
-drop database if exists mysqltest_database_not_exists;
-create database mysqltest_db1;
-drop database mysqltest_db1;
---echo Restore the original mysql.event table
-drop table mysql.event;
-rename table event_like to mysql.event;
-
---echo check that we can now enable events without restart
-set global event_scheduler=original;
-select @@global.event_scheduler;
-set global event_scheduler=on;
-select @@global.event_scheduler;
---sorted_result
---replace_column 6 # 9 # 10 #
---replace_result $collation_server latin1_swedish_ci
-show events;
-
---echo Now let's restart the server again
-
---source include/restart_mysqld.inc
-
-# We need this file primarily to make sure that the scheduler is restarted
-# and enabled after we have restored mysql.event table.
-# This is the final step of the "cleanup".
-#
-# Make sure also that events are executed OK after restart, just in case.
-use events_test;
-# Make sure the scheduler was started successfully
-select @@event_scheduler;
-let $wait_condition=select count(distinct name)=3 from execution_log;
---source include/wait_condition.inc
-drop table execution_log;
-# Will drop all events
-drop database events_test;
-
-let $wait_condition=
- select count(*) = 0 from information_schema.processlist
- where db='events_test' and command = 'Connect' and user=current_user();
---source include/wait_condition.inc
-
---echo #
---echo # Test for bug#11748899 -- EVENT SET TO DISABLED AND ON COMPLETION
---echo # NOT PRESERVE IS DELETED AT SERVER
---echo #
-SELECT @@event_scheduler;
-USE test;
---disable_warnings
-DROP EVENT IF EXISTS e1;
---enable_warnings
-CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DISABLE DO SELECT 1;
---replace_column 6 # 9 # 10 #
-SHOW EVENTS;
-
---echo "Now we restart the server"
---source include/restart_mysqld.inc
-USE test;
-SELECT @@event_scheduler;
---replace_column 6 # 9 # 10 #
-SHOW EVENTS;
-DROP EVENT e1;
-
---echo # end test for bug#11748899
-
---echo #
---echo # Test for MDEV-21758 Events switched randomly to SLAVESIDE_DISABLED
---echo #
-
-create event ev on schedule every 1 minute do set @a= 1;
-select name, originator, status from mysql.event;
-
---let $server_id= `SELECT @@global.server_id`
-
---echo #
---echo # Restarting server with server_id=100
---echo #
---let $restart_parameters= --server-id=100
---source include/restart_mysqld.inc
-
-select @@global.server_id;
-select name, originator, status from mysql.event;
---eval set global server_id= $server_id
-
---echo #
---echo # Restarting server with the original server_id=$server_id
---echo #
---let $restart_parameters=
---source include/restart_mysqld.inc
-
-select @@global.server_id;
-select name, originator, status from mysql.event;
-
-# Cleanup
-drop event ev;