mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +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:
@ -4,6 +4,26 @@ reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
set sql_log_bin=0;
|
||||
create database mysqltest_from;
|
||||
set sql_log_bin=1;
|
||||
create database mysqltest_to;
|
||||
use mysqltest_from;
|
||||
drop table if exists a;
|
||||
CREATE TABLE a (i INT);
|
||||
INSERT INTO a VALUES(1);
|
||||
DELETE alias FROM a alias WHERE alias.i=1;
|
||||
SELECT * FROM a;
|
||||
i
|
||||
insert into a values(2),(3);
|
||||
delete a alias FROM a alias where alias.i=2;
|
||||
select * from a;
|
||||
i
|
||||
3
|
||||
use mysqltest_to;
|
||||
select * from a;
|
||||
i
|
||||
3
|
||||
create table t1 (a int);
|
||||
create table t2 (a int);
|
||||
insert into t1 values (1);
|
||||
@ -15,7 +35,10 @@ select * from t2;
|
||||
a
|
||||
1
|
||||
select * from t1;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
ERROR 42S02: Table 'mysqltest_to.t1' doesn't exist
|
||||
select * from t2;
|
||||
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||
drop table t1,t2;
|
||||
ERROR 42S02: Table 'mysqltest_to.t2' doesn't exist
|
||||
set sql_log_bin=0;
|
||||
drop database mysqltest_from;
|
||||
set sql_log_bin=1;
|
||||
drop database mysqltest_to;
|
||||
|
Reference in New Issue
Block a user