mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and
CREATE function. Test case added.
This commit is contained in:
parent
46973bb3ad
commit
3a88adc3b2
2 changed files with 85 additions and 0 deletions
40
mysql-test/suite/binlog/r/binlog_mdev717.result
Normal file
40
mysql-test/suite/binlog/r/binlog_mdev717.result
Normal file
|
@ -0,0 +1,40 @@
|
|||
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
|
45
mysql-test/suite/binlog/t/binlog_mdev717.test
Normal file
45
mysql-test/suite/binlog/t/binlog_mdev717.test
Normal file
|
@ -0,0 +1,45 @@
|
|||
# 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
|
||||
|
Loading…
Add table
Reference in a new issue