diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
commit | 06eaf7232e9a920468c0f8d74dcf2fe8b555501c (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/rpl/include/rpl_flsh_tbls.test | |
parent | Initial commit. (diff) | |
download | mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.tar.xz mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/rpl/include/rpl_flsh_tbls.test')
-rw-r--r-- | mysql-test/suite/rpl/include/rpl_flsh_tbls.test | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/include/rpl_flsh_tbls.test b/mysql-test/suite/rpl/include/rpl_flsh_tbls.test new file mode 100644 index 00000000..491897ae --- /dev/null +++ b/mysql-test/suite/rpl/include/rpl_flsh_tbls.test @@ -0,0 +1,72 @@ +# depends on the binlog output +# Test of replicating FLUSH TABLES to make +# RENAME TABLE work with MERGE tables on the slave. +# Test of FLUSH NO_WRITE_TO_BINLOG by the way. +# + +source include/master-slave.inc; + +connection slave; +source include/stop_slave.inc; +change master to master_use_gtid=no; +source include/start_slave.inc; +connection master; + +let $SERVER_VERSION=`select version()`; + +create table t1 (a int) ENGINE=MyISAM; +insert into t1 values (10); +create table t2 (a int) ENGINE=MyISAM; +create table t3 (a int) engine=merge union(t1); +create table t4 (a int); +# We force the slave to open t3 (because we want to try confusing him) with this : +insert into t4 select * from t3; +--let $rename_event_pos= query_get_value(SHOW MASTER STATUS, Position, 1) +rename table t1 to t5, t2 to t1; +# RENAME may have confused the master (this is a known bug): so FLUSH tables, +# first don't write it to the binlog, to test the NO_WRITE_TO_BINLOG keyword. +flush no_write_to_binlog tables; +# Check that it's not in the binlog. +let $binlog_start= $rename_event_pos; +source include/show_binlog_events.inc; +# Check that the master is not confused. +select * from t3; +# This FLUSH should go into the binlog to not confuse the slave. +flush tables; +# Check that it's in the binlog. +let $wait_binlog_event= flush tables; +source include/wait_for_binlog_event.inc; + +sync_slave_with_master; +# Check that the slave is not confused. +select * from t3; +# Note that all this confusion may cause warnings 'table xx is open on rename' +# in the .err files; these are not fatal and are not reported by mysql-test-run. +stop slave; +source include/wait_for_slave_to_stop.inc; + +connection master; +drop table t1; + +connection slave; +flush tables with read lock; +start slave; + +# The IO thread will not be able to read the GTID because of flush tables +let $slave_param= Slave_IO_Running; +let $slave_param_value= Preparing; +source include/wait_for_slave_param.inc; + +--source include/wait_for_slave_sql_to_start.inc +--error 1192 +stop slave; + +# Cleanup +unlock tables; + +connection master; +drop table t3, t4, t5; + +# End of 4.1 tests + +--source include/rpl_end.inc |