1
0
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:
sasha@asksasha.com
2005-09-14 06:31:38 -06:00
parent 1e6736b543
commit 00eae49b5c
7 changed files with 117 additions and 30 deletions

View File

@ -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;