summaryrefslogtreecommitdiff
path: root/mysql-test/r
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2004-04-13 22:40:16 +0200
committerunknown <guilhem@mysql.com>2004-04-13 22:40:16 +0200
commit0cd58c6c78742aa0e4873348095c9612ef4515d3 (patch)
tree97fe6cf195e64ae2f13d84055ffddf513449ec15 /mysql-test/r
parent1f01df0e72a97a7a2ae91488bb1094390e85f4f8 (diff)
downloadmariadb-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.result21
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;