diff options
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r-- | sql/sql_update.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 890e72f3314..37ad416f910 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -1571,7 +1571,7 @@ bool mysql_multi_update(THD *thd, bool res; DBUG_ENTER("mysql_multi_update"); - if (!(*result= new multi_update(table_list, + if (!(*result= new (thd->mem_root) multi_update(thd, table_list, &thd->lex->select_lex.leaf_tables, fields, values, handle_duplicates, ignore))) @@ -1605,12 +1605,13 @@ bool mysql_multi_update(THD *thd, } -multi_update::multi_update(TABLE_LIST *table_list, +multi_update::multi_update(THD *thd_arg, TABLE_LIST *table_list, List<TABLE_LIST> *leaves_list, List<Item> *field_list, List<Item> *value_list, enum enum_duplicates handle_duplicates_arg, - bool ignore_arg) - :all_tables(table_list), leaves(leaves_list), update_tables(0), + bool ignore_arg): + select_result_interceptor(thd_arg), + all_tables(table_list), leaves(leaves_list), update_tables(0), tmp_tables(0), updated(0), found(0), fields(field_list), values(value_list), table_count(0), copy_field(0), handle_duplicates(handle_duplicates_arg), do_update(1), trans_safe(1), |