diff options
Diffstat (limited to 'sql/protocol.cc')
-rw-r--r-- | sql/protocol.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/protocol.cc b/sql/protocol.cc index a25a2837703..9c5df04e404 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -497,6 +497,8 @@ static uchar *net_store_length_fast(uchar *packet, uint length) void Protocol::end_statement() { + /* sanity check*/ + DBUG_ASSERT_IF_WSREP(!(WSREP(thd) && thd->wsrep_conflict_state == REPLAYING)); DBUG_ENTER("Protocol::end_statement"); DBUG_ASSERT(! thd->get_stmt_da()->is_sent()); bool error= FALSE; @@ -874,7 +876,7 @@ bool Protocol::send_result_set_metadata(List<Item> *list, uint flags) DBUG_RETURN(prepare_for_send(list->elements)); err: - my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), + my_message(ER_OUT_OF_RESOURCES, ER_THD(thd, ER_OUT_OF_RESOURCES), MYF(0)); /* purecov: inspected */ DBUG_RETURN(1); /* purecov: inspected */ } @@ -1254,7 +1256,7 @@ bool Protocol_text::send_out_parameters(List<Item_param> *sp_params) continue; // It's an IN-parameter. Item_func_set_user_var *suv= - new Item_func_set_user_var(*user_var_name, item_param); + new (thd->mem_root) Item_func_set_user_var(thd, *user_var_name, item_param); /* Item_func_set_user_var is not fixed after construction, call fix_fields(). @@ -1526,7 +1528,7 @@ bool Protocol_binary::send_out_parameters(List<Item_param> *sp_params) if (!item_param->get_out_param_info()) continue; // It's an IN-parameter. - if (out_param_lst.push_back(item_param)) + if (out_param_lst.push_back(item_param, thd->mem_root)) return TRUE; } } |