MINI MINI MANI MO

Path : /opt/mysql/mysql-test/suite/binlog/t/
File Upload :
Current File : //opt/mysql/mysql-test/suite/binlog/t/binlog_drop_temp_table_on_disconnect_stmt.test

# ====== Purpose =======
#
# This test verifies that DROP for a temporary table created
# in Row mode is not logged in binlog at session disconnect.
#
# ====== Implementation ======
#
# Create temporary tables in statement or mixed mode using different engines,
# also create a temporary table in Row mode, now when you connect to the session
# after a disconnect print the output of show binlog events.
# This will verify that the DROP for temporary table created in stmt or mixed
# mode is written to binary log at session disconnect, but for  the temporary table
# created in Row mode no DROP statement for temporary table is logged at session
# disconnect.
#
# ====== References =======
#
# Bug#28606948:BACKPORT OF BUG #24670909 TO 5.7.22
#

--source include/have_log_bin.inc
--source include/have_myisam.inc
--source include/have_binlog_format_mixed_or_statement.inc

RESET MASTER;

CREATE TABLE t1(a INT) ENGINE=InnoDB;
CREATE TABLE t2(a INT) ENGINE=MyISAM;

--source include/count_sessions.inc

--connect(con1,localhost,root)

# A DROP should be logged for the following tables because CREATE TABLE
# is logged
CREATE TEMPORARY TABLE tmp1 ENGINE=InnoDB SELECT * FROM t1;
CREATE TEMPORARY TABLE tmp2 ENGINE=MyISAM SELECT * FROM t2;
CREATE TEMPORARY TABLE tmp3 ENGINE=MyISAM SELECT * FROM t1;
CREATE TEMPORARY TABLE tmp4 ENGINE=InnoDB SELECT * FROM t2;
CREATE TEMPORARY TABLE tmp5 (a INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE tmp6 (a INT) ENGINE=MyISAM;
CREATE TEMPORARY TABLE tmp7 LIKE t1;
CREATE TEMPORARY TABLE tmp8 LIKE t2;

SET SESSION binlog_format= 'ROW';
# No DROP should be logged for tmp10
CREATE TEMPORARY TABLE tmp10 (a INT);

--disconnect con1
--connection default
--source include/wait_until_count_sessions.inc

--source include/show_binlog_events.inc

DROP TABLE t1, t2;


OHA YOOOO