diff options
author | sasha@asksasha.com <> | 2005-09-14 06:31:38 -0600 |
---|---|---|
committer | sasha@asksasha.com <> | 2005-09-14 06:31:38 -0600 |
commit | 00eae49b5c11bb0450fa861af5bff4e7032c5a57 (patch) | |
tree | 64a17f5abb4007e126807cec7bfc79400fc17fcf /sql/sql_yacc.yy | |
parent | 1e6736b543dd18a2808ed224a4fbed47808d219b (diff) | |
download | mariadb-git-00eae49b5c11bb0450fa861af5bff4e7032c5a57.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.
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 6283cad7cc8..e29aaac8f94 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -4295,12 +4295,10 @@ single_multi: } where_clause opt_order_clause delete_limit_clause {} - | table_wild_list - { mysql_init_multi_delete(Lex); } - FROM join_table_list where_clause - | FROM table_wild_list - { mysql_init_multi_delete(Lex); } - USING join_table_list where_clause + | table_wild_list {mysql_init_multi_delete(Lex);} + FROM join_table_list {fix_multi_delete_lex(Lex);} where_clause + | FROM table_wild_list { mysql_init_multi_delete(Lex);} + USING join_table_list {fix_multi_delete_lex(Lex);} where_clause {} ; |