diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2016-03-28 22:18:38 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2016-03-28 22:18:38 +0300 |
commit | 2bd4dc38e0d5eb257e2e29413dd01239ce075d42 (patch) | |
tree | dad0557b1d927d012aebd1c36c8c3e00462adcb1 /sql/item_subselect.cc | |
parent | 44fdb56c977259b2801c612116813beda403df78 (diff) | |
parent | 3df261dc31ab18ee1537f327b07320b0a07fb8f5 (diff) | |
download | mariadb-git-2bd4dc38e0d5eb257e2e29413dd01239ce075d42.tar.gz |
Merge branch '10.2' into bb-10.2-mdev9543
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r-- | sql/item_subselect.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index b0eb22d2e0e..94e7bc98618 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -58,6 +58,8 @@ Item_subselect::Item_subselect(THD *thd_arg): { DBUG_ENTER("Item_subselect::Item_subselect"); DBUG_PRINT("enter", ("this: 0x%lx", (ulong) this)); + sortbuffer.str= 0; + #ifndef DBUG_OFF exec_counter= 0; #endif @@ -153,6 +155,9 @@ void Item_subselect::cleanup() if (engine) engine->cleanup(); reset(); + filesort_buffer.free_sort_buffer(); + my_free(sortbuffer.str); + value_assigned= 0; expr_cache= 0; forced_const= FALSE; @@ -5322,6 +5327,7 @@ int subselect_hash_sj_engine::exec() item_in->reset(); item_in->make_const(); item_in->set_first_execution(); + thd->lex->current_select= save_select; DBUG_RETURN(FALSE); } @@ -5365,6 +5371,7 @@ int subselect_hash_sj_engine::exec() item_in->null_value= 1; item_in->make_const(); item_in->set_first_execution(); + thd->lex->current_select= save_select; DBUG_RETURN(FALSE); } @@ -5907,7 +5914,7 @@ int subselect_partial_match_engine::exec() /* Search for a complete match. */ if ((lookup_res= lookup_engine->index_lookup())) { - /* An error occured during lookup(). */ + /* An error occurred during lookup(). */ item_in->value= 0; item_in->null_value= 0; return lookup_res; |