mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
88b109d97b
The bug was caused by ignoring failure when opening a a table in Table_map_log_event::exec_event(). mysql-test/r/rpl_row_inexist_tbl.result: Fixed test case result. mysql-test/t/disabled.def: Enabled rpl_row_inexist_table test. mysql-test/t/rpl_row_inexist_tbl.test: Extended test case with "replicate-ignore-table" t2. sql/log_event.cc: Table_map_log_event::exec_event(): Remove code which ignores opening table failure. Previously, this code was needed because of extraneous table maps in the binary log. Currently, for any table that should be replicated to slave, a filter is needed (bug#18948).
35 lines
861 B
Text
35 lines
861 B
Text
# Test to see what slave says when master is updating a table it does
|
|
# not have
|
|
--source include/have_binlog_format_row.inc
|
|
|
|
source include/master-slave.inc;
|
|
|
|
connection master;
|
|
create table t1 (a int not null primary key);
|
|
insert into t1 values (1);
|
|
create table t2 (a int);
|
|
insert into t2 values (1);
|
|
update t1, t2 set t1.a = 0 where t1.a = t2.a;
|
|
|
|
sync_slave_with_master;
|
|
# t2 should not have been replicated
|
|
# t1 should have been properly updated
|
|
show tables;
|
|
select * from t1;
|
|
drop table t1;
|
|
|
|
connection master;
|
|
insert into t1 values (1);
|
|
|
|
connection slave;
|
|
# slave should have stopped because can't find table t1
|
|
wait_for_slave_to_stop;
|
|
# see if we have a good error message:
|
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
|
--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
|
|
--vertical_results
|
|
show slave status;
|
|
|
|
# cleanup
|
|
connection master;
|
|
drop table t1, t2;
|