summaryrefslogtreecommitdiff
path: root/sql/item_subselect.cc
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2016-03-28 22:18:38 +0300
committerSergei Petrunia <psergey@askmonty.org>2016-03-28 22:18:38 +0300
commit2bd4dc38e0d5eb257e2e29413dd01239ce075d42 (patch)
treedad0557b1d927d012aebd1c36c8c3e00462adcb1 /sql/item_subselect.cc
parent44fdb56c977259b2801c612116813beda403df78 (diff)
parent3df261dc31ab18ee1537f327b07320b0a07fb8f5 (diff)
downloadmariadb-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.cc9
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;