mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
present): the problem originally was that the tables in auxilliary_tables did not have the correct real_name, which caused problems in the second call to tables_ok(). The fix corrects the real_name problem, and also sets the updating flag properly, which makes the second call to tables_ok() unnecessary.
This commit is contained in:
@ -1,4 +1,41 @@
|
||||
#multi delete replication bugs
|
||||
|
||||
|
||||
source include/master-slave.inc;
|
||||
|
||||
#BUG#11139 - improper wild-table and table rules
|
||||
#checking for multi deletes with an alias
|
||||
|
||||
connection master;
|
||||
set sql_log_bin=0;
|
||||
create database mysqltest_from;
|
||||
set sql_log_bin=1;
|
||||
|
||||
connection slave;
|
||||
create database mysqltest_to;
|
||||
|
||||
|
||||
connection master;
|
||||
use mysqltest_from;
|
||||
--disable_warnings
|
||||
drop table if exists a;
|
||||
--enable_warnings
|
||||
CREATE TABLE a (i INT);
|
||||
INSERT INTO a VALUES(1);
|
||||
DELETE alias FROM a alias WHERE alias.i=1;
|
||||
SELECT * FROM a;
|
||||
insert into a values(2),(3);
|
||||
delete a alias FROM a alias where alias.i=2;
|
||||
select * from a;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
|
||||
use mysqltest_to;
|
||||
sync_with_master;
|
||||
select * from a;
|
||||
|
||||
# BUG#3461
|
||||
connection master;
|
||||
create table t1 (a int);
|
||||
create table t2 (a int);
|
||||
|
||||
@ -19,7 +56,13 @@ select * from t1;
|
||||
error 1146;
|
||||
select * from t2;
|
||||
|
||||
# cleanup
|
||||
connection master;
|
||||
drop table t1,t2;
|
||||
set sql_log_bin=0;
|
||||
drop database mysqltest_from;
|
||||
set sql_log_bin=1;
|
||||
connection slave;
|
||||
drop database mysqltest_to;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
Reference in New Issue
Block a user