# ==== Purpose ==== # # Verify that Slave_open_temp_tables is increased when a temporary # table is opened on the slave, and decreased when a temporary table # is closed on the slave, and that it is preserved during 'DELETE FROM # table' and 'TRUNCATE table'. # # ==== Method ==== # # Create a temporary table on master, insert rows, and try: # - delete rows from the table # - truncate the table # - drop the table # # ==== Related bugs ==== # # BUG#17137 Running "truncate table" on temporary table leaves the table open on a slave # # Bug in this test: BUG#37493: rpl_trunc_temp.test nondeterministic # Requires statement-based logging since temporary tables are not # logged in row-based logging -- source include/have_binlog_format_mixed_or_statement.inc source include/master-slave.inc; create temporary table t1 (n int); insert into t1 values(1); sync_slave_with_master; show status like 'Slave_open_temp_tables'; # Perform a delete from temp table connection master; delete from t1; sync_slave_with_master; show status like 'Slave_open_temp_tables'; # Perform truncate on temp table connection master; truncate t1; sync_slave_with_master; show status like 'Slave_open_temp_tables'; # Disconnect the master, temp table on slave should disappear disconnect master; connection slave; # Wait until drop of temp tables appers in slave's binlog let $wait_binlog_event= DROP; source include/wait_for_binlog_event.inc; show status like 'Slave_open_temp_tables'; --source include/rpl_end.inc