# MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and CREATE function.

--source include/have_debug_sync.inc
--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

