diff options
Diffstat (limited to 'mysql-test/suite/rpl/t/rpl_000013.test')
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_000013.test | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/t/rpl_000013.test b/mysql-test/suite/rpl/t/rpl_000013.test new file mode 100644 index 00000000..9f1b0666 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_000013.test @@ -0,0 +1,55 @@ +# This test is to verify that DROP TEMPORARY TABLE +# is automatically binlogged and sent to slave +# when a temp table is dropped by disconnection +# of a master's conection. +# So it does not apply to row-based, where we neither need +# nor do this automatic binlogging. And if we run this test +# in row-based, it hangs waiting for an offset which is never +# reached (the "sync_with_master 1"), logically. + +--source include/have_binlog_format_mixed_or_statement.inc +source include/master-slave.inc; + +--disable_query_log +CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); +--enable_query_log + +create table t2(n int); +create temporary table t1 (n int); +insert into t1 values(1),(2),(3); +--disable_warnings +insert into t2 select * from t1; +--enable_warnings +connection master1; +create temporary table t1 (n int); +insert into t1 values (4),(5); +--disable_warnings +insert into t2 select * from t1 as t10; +--enable_warnings +save_master_pos; +disconnect master; +connection slave; +#add 1 to catch drop table +sync_with_master 1; +connection master1; +insert into t2 values(6); +save_master_pos; +disconnect master1; +connection slave; +# same trick to go one more event +sync_with_master 1; +select * from t2; +show status like 'Slave_open_temp_tables'; +# +# Clean up +# +connect (master2,localhost,root,,); +connection master2; + +# We will get a warning for t1 as this is a temporary table that doesn't +# exist in this connection. + +drop table if exists t1,t2; + +--source include/rpl_end.inc +# End of 4.1 tests |