mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1
This commit is contained in:
@ -625,7 +625,9 @@ report_stats () {
|
||||
$RM -f $MY_LOG_DIR/warnings $MY_LOG_DIR/warnings.tmp
|
||||
# Remove some non fatal warnings from the log files
|
||||
$SED -e 's!Warning: Table:.* on delete!!g' \
|
||||
$MY_LOG_DIR/*.err > $MY_LOG_DIR/warnings.tmp
|
||||
$MY_LOG_DIR/*.err \
|
||||
| $SED -e 's!Warning: Table:.* on rename!!g' \
|
||||
> $MY_LOG_DIR/warnings.tmp
|
||||
|
||||
found_error=0
|
||||
# Find errors
|
||||
|
40
mysql-test/r/rpl_flush_tables.result
Normal file
40
mysql-test/r/rpl_flush_tables.result
Normal file
@ -0,0 +1,40 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (10);
|
||||
create table t2 (a int);
|
||||
create table t3 (a int) type=merge union(t1);
|
||||
create table t4 (a int);
|
||||
insert into t4 select * from t3;
|
||||
rename table t1 to t5, t2 to t1;
|
||||
flush no_write_to_binlog tables;
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.000001 4 Start 1 4 Server ver: 4.1.1-alpha-debug-log, Binlog ver: 3
|
||||
master-bin.000001 79 Query 1 79 use `test`; create table t1 (a int)
|
||||
master-bin.000001 137 Query 1 137 use `test`; insert into t1 values (10)
|
||||
master-bin.000001 198 Query 1 198 use `test`; create table t2 (a int)
|
||||
master-bin.000001 256 Query 1 256 use `test`; create table t3 (a int) type=merge union(t1)
|
||||
master-bin.000001 335 Query 1 335 use `test`; create table t4 (a int)
|
||||
master-bin.000001 393 Query 1 393 use `test`; insert into t4 select * from t3
|
||||
master-bin.000001 459 Query 1 459 use `test`; rename table t1 to t5, t2 to t1
|
||||
select * from t3;
|
||||
a
|
||||
flush tables;
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.000001 4 Start 1 4 Server ver: 4.1.1-alpha-debug-log, Binlog ver: 3
|
||||
master-bin.000001 79 Query 1 79 use `test`; create table t1 (a int)
|
||||
master-bin.000001 137 Query 1 137 use `test`; insert into t1 values (10)
|
||||
master-bin.000001 198 Query 1 198 use `test`; create table t2 (a int)
|
||||
master-bin.000001 256 Query 1 256 use `test`; create table t3 (a int) type=merge union(t1)
|
||||
master-bin.000001 335 Query 1 335 use `test`; create table t4 (a int)
|
||||
master-bin.000001 393 Query 1 393 use `test`; insert into t4 select * from t3
|
||||
master-bin.000001 459 Query 1 459 use `test`; rename table t1 to t5, t2 to t1
|
||||
master-bin.000001 525 Query 1 525 use `test`; flush tables
|
||||
select * from t3;
|
||||
a
|
33
mysql-test/t/rpl_flush_tables.test
Normal file
33
mysql-test/t/rpl_flush_tables.test
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# 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;
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (10);
|
||||
create table t2 (a int);
|
||||
create table t3 (a int) type=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;
|
||||
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.
|
||||
show binlog events;
|
||||
# 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.
|
||||
show binlog events;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_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.
|
Reference in New Issue
Block a user