DROP DATABASE IF EXISTS `drop-temp+table-test`; connect con1,localhost,root,,; connect con2,localhost,root,,; connection con1; RESET MASTER; CREATE DATABASE `drop-temp+table-test`; USE `drop-temp+table-test`; CREATE TEMPORARY TABLE shortn1 (a INT); CREATE TEMPORARY TABLE `table:name` (a INT); CREATE TEMPORARY TABLE shortn2 (a INT); CREATE TEMPORARY TABLE tmp(c1 int); CREATE TEMPORARY TABLE tmp1(c1 int); CREATE TEMPORARY TABLE tmp2(c1 int); CREATE TEMPORARY TABLE tmp3(c1 int); CREATE TABLE t(c1 int); DROP TEMPORARY TABLE IF EXISTS tmp; DROP TEMPORARY TABLE IF EXISTS tmp; DROP TEMPORARY TABLE IF EXISTS tmp, tmp1; DROP TEMPORARY TABLE tmp3; DROP TABLE IF EXISTS tmp2, t; DROP TABLE IF EXISTS tmp2, t; SELECT GET_LOCK("a",10); GET_LOCK("a",10) 1 USE test; disconnect con1; connection con2; SELECT GET_LOCK("a",10); GET_LOCK("a",10) 1 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 `drop-temp+table-test` master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int) master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */ DROP DATABASE `drop-temp+table-test`; RESET MASTER; CREATE TABLE t1 ( i text ); connect con1,localhost,root,,; CREATE TEMPORARY TABLE ttmp1 ( i text ); SET @@session.binlog_format=ROW; INSERT INTO t1 VALUES ('1'); SELECT @@session.binlog_format; @@session.binlog_format ROW disconnect con1; connection default; 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 # # use `test`; CREATE TABLE t1 ( i text ) master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES ('1') master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT RESET MASTER; DROP TABLE t1; # # BUG#28642318: POINT IN TIME RECOVERY USING MYSQLBINLOG BROKEN # WITH TEMPORARY TABLE -> ERRORS # Test case for DELETE query. RESET MASTER; connect con1,localhost,root,,; # Set up. connection default; SET @save_binlog_format= @@session.binlog_format; SET @@session.binlog_format=STATEMENT; CREATE TABLE t1 (a INT) ENGINE=INNODB; connection con1; SET @@session.binlog_format=STATEMENT; CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; connection default; DELETE d1, d2 FROM t1 AS d1, t1 AS d2 WHERE d1.a<>d2.a; connection default; DROP TABLE t1; # DELETE query fails with table re-open error without patch. # Clean up. connection con1; DROP TABLE IF EXISTS t1; connection default; DROP TABLE IF EXISTS t1; RESET MASTER; # Test case for DROP query. connection default; CREATE TABLE t2 (a INT) ENGINE=INNODB; connection con1; CREATE TEMPORARY TABLE t2 (b BLOB) ENGINE=INNODB; connection default; DROP TABLE t2; connection con1; DROP TABLE t2; connection default; # DROP table query fails with unknown table error without patch. # Clean up connection default; SET @@session.binlog_format= @save_binlog_format; RESET MASTER; disconnect con1;