diff options
author | unknown <guilhem@mysql.com> | 2004-04-13 22:40:16 +0200 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2004-04-13 22:40:16 +0200 |
commit | 0cd58c6c78742aa0e4873348095c9612ef4515d3 (patch) | |
tree | 97fe6cf195e64ae2f13d84055ffddf513449ec15 /mysql-test/r | |
parent | 1f01df0e72a97a7a2ae91488bb1094390e85f4f8 (diff) | |
download | mariadb-git-0cd58c6c78742aa0e4873348095c9612ef4515d3.tar.gz |
Fix for BUG#3461 "multi-table DELETE replicated despite replicate-wild-ignore-table":
In tables_ok(), when there is no table having "updating==TRUE" in the list,
return that we don't replicate this statement (the slave is supposed to
replicate *changes* only).
In practice, the case can only happen for this statement:
DELETE t FROM t,u WHERE ... ;
tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
will give a chance to tables_ok(t) to run.
sql/slave.cc:
In tables_ok(), when there is no table having "updating==TRUE" in the list,
return that we don't replicate this statement (the slave is supposed to
replicate *changes* only).
In practice, the case can only happen for this statement:
DELETE t FROM t,u WHERE ... ;
tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
will give a chance to tables_ok(t) to run.
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/rpl_multi_delete2.result | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mysql-test/r/rpl_multi_delete2.result b/mysql-test/r/rpl_multi_delete2.result new file mode 100644 index 00000000000..8b6d87801fe --- /dev/null +++ b/mysql-test/r/rpl_multi_delete2.result @@ -0,0 +1,21 @@ +slave stop; +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; +slave start; +create table t1 (a int); +create table t2 (a int); +insert into t1 values (1); +insert into t2 values (1); +delete t1.* from t1, t2 where t1.a = t2.a; +select * from t1; +a +select * from t2; +a +1 +select * from t1; +Table 'test.t1' doesn't exist +select * from t2; +Table 'test.t2' doesn't exist +drop table t1,t2; |