mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
4cce928ea6
The test case creates two temporary tables, then closes the connection, waits for it to disconnect, then syncs the slave with the master, checks for remaining opened temporary tables on slave (which should be 0) and finally drops the used database (mysqltest). Unfortunately, sometimes, the test fails with one open table on the slave. This seems to be caused by the fact that waiting for the connection to be closed is not sufficient. The test needs to wait for the DROP event to be logged and only then synchronize the slave with the master and proceed with the check. This is caused by the asynchronous nature of the disconnect wrt binlogging of the DROP temporary table statement. We fix this by deploying a call to wait_for_binlog_event.inc on the test case, which makes execution to wait for the DROP temp tables event before synchronizing master and slave.
37 lines
993 B
Text
37 lines
993 B
Text
##############################################
|
|
# Change Author: JBM
|
|
# Change Date: 2006-02-07
|
|
# Change: Added ENGINE=MyISAM
|
|
# Purpose: According to TU in 16552 This is how
|
|
# to work around NDB's issue with temp tables
|
|
##############################################
|
|
source include/master-slave.inc;
|
|
source include/have_binlog_format_mixed_or_statement.inc;
|
|
|
|
--disable_warnings
|
|
create database if not exists mysqltest;
|
|
--enable_warnings
|
|
|
|
connect (con_temp,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
|
|
|
connection con_temp;
|
|
use mysqltest;
|
|
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
|
|
create temporary table mysqltest.t2 (n int)ENGINE=MyISAM;
|
|
|
|
disconnect con_temp;
|
|
--source include/wait_until_disconnected.inc
|
|
|
|
connection master;
|
|
-- let $wait_binlog_event= DROP
|
|
-- source include/wait_for_binlog_event.inc
|
|
sync_slave_with_master;
|
|
|
|
connection slave;
|
|
show status like 'Slave_open_temp_tables';
|
|
# Cleanup
|
|
connection master;
|
|
drop database mysqltest;
|
|
sync_slave_with_master;
|
|
|
|
# End of 4.1 tests
|