summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/select_handler.cc2
-rw-r--r--sql/sql_select.cc2
2 files changed, 3 insertions, 1 deletions
diff --git a/sql/select_handler.cc b/sql/select_handler.cc
index f020d2f6b80..b364cb12341 100644
--- a/sql/select_handler.cc
+++ b/sql/select_handler.cc
@@ -45,6 +45,8 @@ Pushdown_select::Pushdown_select(SELECT_LEX *sel, select_handler *h)
Pushdown_select::~Pushdown_select()
{
+ if (handler->table)
+ free_tmp_table(handler->thd, handler->table);
delete handler;
select->select_h= NULL;
}
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index e79e96bf210..dbd035720f1 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -28551,7 +28551,7 @@ select_handler *SELECT_LEX::find_select_handler(THD *thd)
return 0;
if (master_unit()->outer_select())
return 0;
- for (TABLE_LIST *tbl= join->tables_list; tbl; tbl= tbl->next_local)
+ for (TABLE_LIST *tbl= join->tables_list; tbl; tbl= tbl->next_global)
{
if (!tbl->table)
continue;