diff options
author | unknown <sasha@asksasha.com> | 2005-09-14 06:31:38 -0600 |
---|---|---|
committer | unknown <sasha@asksasha.com> | 2005-09-14 06:31:38 -0600 |
commit | f89424f8b69d50fb26c0af3d226ac20afe2a32da (patch) | |
tree | 64a17f5abb4007e126807cec7bfc79400fc17fcf /mysql-test/t/rpl_multi_delete2.test | |
parent | 7d64ba092da310725f88c3193e48f3cdd14f3bbd (diff) | |
download | mariadb-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.test | 45 |
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 + |