1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
# ==== Purpose ====
#
# Verify that CREATE/DROP TEMPORARY TABLE is not written
# into binlog when @@session.binlog_format= ROW/MIXED.
#
# ==== Implementation ====
#
# 1. SET @@session.binlog_format= MIXED;
# 2. Verify that CREATE/DROP TEMPORARY TABLE is not written
# into binlog when @@session.binlog_format= MIXED.
# 3. SET @@session.binlog_format= ROW;
# 4. Verify that CREATE/DROP TEMPORARY TABLE is not written
# into binlog when @@session.binlog_format= ROW.
#
# ==== References ====
#
# Wl#8872 Allow CREATE TEMPORARY/DROP TEMPORARY in transaction when GTID_MODE=ON in RBR
# This test script will be run only in non GR set up.
--source include/not_group_replication_plugin.inc
--source include/have_log_bin.inc
# Test in this file is binlog format agnostic, thus no need
# to rerun it for every format.
--source include/have_binlog_format_row.inc
--source include/force_myisam_default.inc
--source include/have_myisam.inc
SET @@session.binlog_format= MIXED;
SELECT @@session.binlog_format;
CREATE TABLE t1(a INT) ENGINE=InnoDB;
CREATE TABLE t2(a INT) ENGINE=MyISAM;
--let $saved_master_pos=query_get_value('SHOW MASTER STATUS', Position, 1)
--source extra/binlog_tests/create_drop_temporary_table_myisam.test
--let $assert_text= CREATE/DROP TEMPORARY TABLE is not written into binlog when @@session.binlog_format= MIXED.
--let $assert_cond= [SHOW MASTER STATUS, Position, 1] = $saved_master_pos
--source include/assert.inc
SET @@session.binlog_format= ROW;
SELECT @@session.binlog_format;
--let $saved_master_pos=query_get_value('SHOW MASTER STATUS', Position, 1)
--source extra/binlog_tests/create_drop_temporary_table_myisam.test
--let $assert_text= CREATE/DROP TEMPORARY TABLE is not written into binlog when @@session.binlog_format= ROW.
--let $assert_cond= [SHOW MASTER STATUS, Position, 1] = $saved_master_pos
--source include/assert.inc
DROP TABLE t1,t2;
|