# # Auxiliary file which is used to test BUG#56118 # # Slave should apply all statements in the transaction before stop if any # temporary table is created or dropped. # # USEAGE: # --let $tmp_table_stm= a SQL statement # --source extra/rpl_tests/rpl_stop_slave.test # if (`SELECT "$tmp_table_stm" = ''`) { --echo \$tmp_table_stm is NULL --die $tmp_table_stm is NULL } --echo --echo [ On Master ] connection master; BEGIN; DELETE FROM t1; eval $tmp_table_stm; INSERT INTO t1 VALUES (1); DROP TEMPORARY TABLE tt1; COMMIT; --echo --echo [ On Slave ] connection slave; # To check if slave SQL thread is applying INSERT statement let $show_statement= SHOW PROCESSLIST; let $field= Info; let $condition= LIKE 'INSERT%'; source include/wait_show_condition.inc; send STOP SLAVE SQL_THREAD; --echo --echo [ On Slave1 ] connection slave1; --echo # To resume slave SQL thread SET DEBUG_SYNC= 'now SIGNAL signal.continue'; SET DEBUG_SYNC= 'RESET'; --echo --echo [ On Slave ] connection slave; reap; source include/wait_for_slave_sql_to_stop.inc; --echo # Slave should stop after the transaction has committed. --echo # So t1 on master is same to t1 on slave. let diff_tables= master:t1, slave:t1; source include/diff_tables.inc; connection slave; START SLAVE SQL_THREAD; source include/wait_for_slave_sql_to_start.inc;