summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-02-08 20:57:14 +0200
committerunknown <bell@sanja.is.com.ua>2004-02-08 20:57:14 +0200
commit89625e60215faabdb6007d102e47e2d9bef74349 (patch)
tree75c08bf3f555da5ff27b244e7fc44623412cf38f /sql/item_sum.cc
parent541cb675c87ae1efa1e1769abaed03e9535eaf27 (diff)
downloadmariadb-git-89625e60215faabdb6007d102e47e2d9bef74349.tar.gz
fixed cleupup() for distinct aggregate functions (BUG#2663)
sql/item_sum.cc: fixed cleupup() for distinct aggregate functions tests/client_test.c: fixed subqueries test test of distinct aggregate functions in PS
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r--sql/item_sum.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index 87e8b124d4b..d9233d2157b 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -1093,12 +1093,17 @@ void Item_sum_count_distinct::cleanup()
if (!original)
{
if (table)
+ {
free_tmp_table(current_thd, table);
+ table= 0;
+ }
delete tmp_table_param;
+ tmp_table_param= 0;
if (use_tree)
+ {
delete_tree(tree);
- table= 0;
- use_tree= 0;
+ use_tree= 0;
+ }
}
DBUG_VOID_RETURN;
}
@@ -1677,10 +1682,17 @@ void Item_func_group_concat::cleanup()
{
THD *thd= current_thd;
if (table)
+ {
free_tmp_table(thd, table);
+ table= 0;
+ }
delete tmp_table_param;
+ tmp_table_param= 0;
if (tree_mode)
- delete_tree(tree);
+ {
+ delete_tree(tree);
+ tree_mode= 0;
+ }
}
DBUG_VOID_RETURN;
}