46 lines
1.6 KiB
Plaintext
46 lines
1.6 KiB
Plaintext
################################################################################
|
|
# BUG#26474110 RPL_KILLED_DDL USES A DEBUG POINT NOT EXIST
|
|
#
|
|
# This test uses a debug_sync point to guarantee that the ALTER EVENT
|
|
# is killed just after it updates mysql.event table. And this test verifies the
|
|
# statement is binlogged correctly when it is killed.
|
|
################################################################################
|
|
--source include/have_binlog_format_row.inc
|
|
--source include/have_debug_sync.inc
|
|
--source include/master-slave.inc
|
|
|
|
--let $connection_id= `SELECT CONNECTION_ID()`
|
|
|
|
CREATE EVENT e1
|
|
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
|
|
DO SELECT 1;
|
|
|
|
# Block ALTER EVENT just after it updated event table
|
|
--let $statement_connection= master
|
|
--let $auxiliary_connection= default
|
|
--let $statement= ALTER EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 2 DAY
|
|
--let $sync_point= after_alter_event_updated_event_table
|
|
--source include/execute_to_sync_point.inc
|
|
|
|
# Kill ALTER EVENT
|
|
--let $rpl_connection_name= default
|
|
--source include/rpl_connection.inc
|
|
--replace_result $connection_id CONNECTION_ID
|
|
eval KILL QUERY $connection_id;
|
|
|
|
# ALTER EVENT returns with ER_QUERY_INTERRUPTED
|
|
--source include/rpl_connection_master.inc
|
|
--error ER_QUERY_INTERRUPTED
|
|
reap;
|
|
|
|
# Verify master and slave have same events
|
|
let $rpl_diff_statement= SELECT event_name, event_body, execute_at
|
|
FROM information_schema.events where event_name like \'e%\'
|
|
ORDER BY event_name;
|
|
--source include/rpl_diff.inc
|
|
|
|
--connection master
|
|
DROP EVENT e1;
|
|
|
|
--source include/rpl_end.inc
|