52 lines
1.4 KiB
Plaintext
52 lines
1.4 KiB
Plaintext
# ==== Purpose ====
|
|
#
|
|
# Verify if the temporary tables will still be present on the slave after
|
|
# restarting only the IO thread when using the GTID AUTO_POSITION protocol.
|
|
#
|
|
# ==== Related Bugs and Worklogs ====
|
|
#
|
|
# Bug#18472603 SQL THREAD COMMITS PARTIAL TRANSACTION WITH GTID AND AUTO
|
|
# POSITIONING ENABLED
|
|
#
|
|
--source include/have_binlog_format_statement.inc
|
|
--let $use_gtids= 1
|
|
--source include/master-slave.inc
|
|
|
|
--echo # Initial setup
|
|
--source include/rpl_connection_master.inc
|
|
CREATE TABLE t1 (c1 INT) ENGINE=InnoDB;
|
|
CREATE TEMPORARY TABLE temp_t1 (c1 INT) ENGINE=InnoDB;
|
|
|
|
--echo # Insert the data in the master
|
|
BEGIN;
|
|
INSERT INTO temp_t1 VALUES (1);
|
|
COMMIT;
|
|
|
|
BEGIN;
|
|
INSERT INTO t1 VALUES ((SELECT COUNT(*) FROM temp_t1));
|
|
COMMIT;
|
|
--source include/sync_slave_sql_with_master.inc
|
|
|
|
--source include/rpl_connection_slave.inc
|
|
--echo # Stop the IO thread
|
|
--source include/stop_slave_io.inc
|
|
--echo # Restart IO thread
|
|
--source include/start_slave_io.inc
|
|
|
|
--echo # Do one more insert on master and then sync slave with master
|
|
--source include/rpl_connection_master.inc
|
|
BEGIN;
|
|
INSERT INTO t1 VALUES ((SELECT COUNT(*) FROM temp_t1));
|
|
COMMIT;
|
|
--source include/sync_slave_sql_with_master.inc
|
|
|
|
--echo # Now compare master and slave's t1 table data
|
|
--source include/rpl_connection_master.inc
|
|
--let diff_tables= master:t1, slave:t1
|
|
--source include/diff_tables.inc
|
|
|
|
--echo # Cleanup
|
|
--source include/rpl_connection_master.inc
|
|
DROP TABLE t1, temp_t1;
|
|
--source include/rpl_end.inc
|