diff options
author | unknown <aelkin@mysql.com> | 2006-01-26 12:49:55 +0200 |
---|---|---|
committer | unknown <aelkin@mysql.com> | 2006-01-26 12:49:55 +0200 |
commit | 956a5b6dfafe63ce7810aebc643205e0864ee8f1 (patch) | |
tree | 44896676c56afc053d79b75213575c2ba73a5b20 /sql | |
parent | 7dd2ec0f1b3cc4b6cfb192b314e246d12350c5f0 (diff) | |
download | mariadb-git-956a5b6dfafe63ce7810aebc643205e0864ee8f1.tar.gz |
BUG#15699 importing the fix from 5.0
sql/sql_parse.cc:
BUG#15699,16487 merge of the fix made in 5.0
mysql-test/r/rpl_multi_update4.result:
New BitKeeper file ``mysql-test/r/rpl_multi_update4.result''
mysql-test/t/rpl_multi_update4-slave.opt:
New BitKeeper file ``mysql-test/t/rpl_multi_update4-slave.opt''
mysql-test/t/rpl_multi_update4.test:
New BitKeeper file ``mysql-test/t/rpl_multi_update4.test''
mysql-test/r/rpl_ignore_table.result:
New BitKeeper file ``mysql-test/r/rpl_ignore_table.result''
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_parse.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 90de630da60..1daa0a5ffec 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2840,21 +2840,26 @@ unsent_create_error: if ((res= multi_update_precheck(thd, tables))) break; - if ((res= mysql_multi_update_lock(thd, tables, &select_lex->item_list, - select_lex))) - break; - + res= mysql_multi_update_lock(thd, tables, &select_lex->item_list, + select_lex); #ifdef HAVE_REPLICATION /* Check slave filtering rules */ if (thd->slave_thread) if (all_tables_not_ok(thd,tables)) { + if (res!= 0) + { + res= 0; /* don't care of prev failure */ + thd->clear_error(); /* filters are of highest prior */ + } /* we warn the slave SQL thread */ my_error(ER_SLAVE_IGNORED_TABLE, MYF(0)); break; } #endif /* HAVE_REPLICATION */ - + if (res) + break; + res= mysql_multi_update(thd,tables, &select_lex->item_list, &lex->value_list, |