Commit 3a88adc3 authored by Alexey Botchkov's avatar Alexey Botchkov

MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and

         CREATE function.

         Test case added.
parent 46973bb3
RESET MASTER;
CREATE DATABASE mysqltest;
SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
DROP DATABASE mysqltest;;
SET DEBUG_SYNC= "now WAIT_FOR locked";
SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
CREATE FUNCTION mysqltest.f1() RETURNS INT RETURN 1;
ERROR 42000: Unknown database 'mysqltest'
CREATE DATABASE mysqltest;
SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
DROP DATABASE mysqltest;;
SET DEBUG_SYNC= "now WAIT_FOR locked";
SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
ERROR 42000: Unknown database 'mysqltest'
CREATE DATABASE mysqltest;
CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
DROP DATABASE mysqltest;;
SET DEBUG_SYNC= "now WAIT_FOR locked";
SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
ALTER EVENT mysqltest.e1 ON SCHEDULE EVERY 20 MINUTE DO BEGIN END;
ERROR 42000: Unknown database 'mysqltest'
SET DEBUG_SYNC= "RESET";
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE mysqltest
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE mysqltest
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE mysqltest
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE mysqltest
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE mysqltest
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE mysqltest
# MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and CREATE function.
--source include/have_log_bin.inc
RESET MASTER;
connect(con1,localhost,root);
connection default;
CREATE DATABASE mysqltest;
SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
--send DROP DATABASE mysqltest;
connection con1;
SET DEBUG_SYNC= "now WAIT_FOR locked";
SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
--error ER_BAD_DB_ERROR
CREATE FUNCTION mysqltest.f1() RETURNS INT RETURN 1;
connection default;
--reap
CREATE DATABASE mysqltest;
SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
--send DROP DATABASE mysqltest;
connection con1;
SET DEBUG_SYNC= "now WAIT_FOR locked";
SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
--error ER_BAD_DB_ERROR
CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
connection default;
--reap
CREATE DATABASE mysqltest;
CREATE EVENT mysqltest.e1 ON SCHEDULE EVERY 15 MINUTE DO BEGIN END;
SET DEBUG_SYNC= "after_wait_locked_schema_name SIGNAL locked WAIT_FOR release";
--send DROP DATABASE mysqltest;
connection con1;
SET DEBUG_SYNC= "now WAIT_FOR locked";
SET DEBUG_SYNC= "before_wait_locked_pname SIGNAL release";
--error ER_BAD_DB_ERROR
ALTER EVENT mysqltest.e1 ON SCHEDULE EVERY 20 MINUTE DO BEGIN END;
connection default;
--reap
SET DEBUG_SYNC= "RESET";
--source include/show_binlog_events.inc
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment