summaryrefslogtreecommitdiff
path: root/sql/select_handler.cc
diff options
context:
space:
mode:
authorRoman Nozdrin <roman.nozdrin@mariadb.com>2019-08-24 20:47:24 +0300
committerRoman Nozdrin <roman.nozdrin@mariadb.com>2019-08-24 20:49:15 +0300
commit9fce94287827eee4c1bcddd70a4aacff96314871 (patch)
treee7db2f4855f6efb963095ce7e9c070edabcb67ba /sql/select_handler.cc
parentefb8485d85b19a2a729310adc6779ca649198f29 (diff)
downloadmariadb-git-9fce94287827eee4c1bcddd70a4aacff96314871.tar.gz
MDEV-19831 find_select_handler() now tries its best to find a
handlerton that is able to processes the whole query. For that it traverses tables from subqueries. Select_handler now cleans up temporary table structures on dctor call.
Diffstat (limited to 'sql/select_handler.cc')
-rw-r--r--sql/select_handler.cc2
1 files changed, 2 insertions, 0 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;
}