summaryrefslogtreecommitdiff
path: root/mysql-test/t/rpl_multi_delete2.test
diff options
context:
space:
mode:
authorunknown <sasha@asksasha.com>2005-09-14 06:31:38 -0600
committerunknown <sasha@asksasha.com>2005-09-14 06:31:38 -0600
commitf89424f8b69d50fb26c0af3d226ac20afe2a32da (patch)
tree64a17f5abb4007e126807cec7bfc79400fc17fcf /mysql-test/t/rpl_multi_delete2.test
parent7d64ba092da310725f88c3193e48f3cdd14f3bbd (diff)
downloadmariadb-git-f89424f8b69d50fb26c0af3d226ac20afe2a32da.tar.gz
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. mysql-test/r/rpl_multi_delete2.result: updates for for BUG#11139 mysql-test/t/rpl_multi_delete2-slave.opt: updates for for BUG#11139 mysql-test/t/rpl_multi_delete2.test: updates for for BUG#11139 sql/mysql_priv.h: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present) sql/slave.cc: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present) sql/sql_parse.cc: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present) sql/sql_yacc.yy: fix for BUG#11139 (multi-delete with alias breaking replication if table rules are present)
Diffstat (limited to 'mysql-test/t/rpl_multi_delete2.test')
-rw-r--r--mysql-test/t/rpl_multi_delete2.test45
1 files changed, 44 insertions, 1 deletions
diff --git a/mysql-test/t/rpl_multi_delete2.test b/mysql-test/t/rpl_multi_delete2.test
index 62d95a3a90f..c50311de363 100644
--- a/mysql-test/t/rpl_multi_delete2.test
+++ b/mysql-test/t/rpl_multi_delete2.test
@@ -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
+