diff options
author | unknown <bell@sanja.is.com.ua> | 2004-02-08 20:14:13 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-02-08 20:14:13 +0200 |
commit | 541cb675c87ae1efa1e1769abaed03e9535eaf27 (patch) | |
tree | 14b2b58964802549177419493c886e1dd62be7e3 /sql/item_cmpfunc.h | |
parent | 715e7a63a6f9a1b278c03f13b4580194161b2ed4 (diff) | |
download | mariadb-git-541cb675c87ae1efa1e1769abaed03e9535eaf27.tar.gz |
fixed subquery with PS (BUG#2462)
fixed UNION preparation
sql/item.cc:
debug output added
sql/item.h:
debug output added
sql/item_cmpfunc.cc:
correct cleunup() for Item_in_optimizer
sql/item_cmpfunc.h:
correct cleunup() for Item_in_optimizer
debug output added
sql/item_func.h:
debug output added
sql/item_subselect.cc:
support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
sql/item_subselect.h:
support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
sql/item_sum.cc:
debug output added
sql/item_sum.h:
debug output added
sql/sql_class.cc:
function to switch allocation arena for Items
sql/sql_class.h:
function to switch allocation arena for Items
pointer on current prepared statement added
sql/sql_lex.cc:
comment fixed
sql/sql_lex.h:
item cleanup support
sql/sql_prepare.cc:
- fixed preparation of PS to avoid storing junk in its memory + correct work with union
- fixed tables cleanup for UNION & subqueries
sql/sql_select.cc:
removed condition which is always true for now
fixed layout
sql/sql_union.cc:
support of UNION subquery cleanup
tests/client_test.c:
test of repeatable subqueries
test of correct UNION initialisation
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r-- | sql/item_cmpfunc.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 7079fcf193d..5235a94c00a 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -105,6 +105,7 @@ public: Item_in_optimizer return NULL, else it evaluate Item_in_subselect. */ longlong val_int(); + void cleanup(); const char *func_name() const { return "<in_optimizer>"; } Item_cache **get_cache() { return &cache; } }; @@ -207,9 +208,11 @@ public: } void cleanup() { + DBUG_ENTER("Item_bool_rowready_func2::cleanup"); Item_bool_func2::cleanup(); tmp_arg[0]= orig_a; tmp_arg[1]= orig_b; + DBUG_VOID_RETURN; } }; @@ -718,10 +721,12 @@ class Item_func_in :public Item_int_func void fix_length_and_dec(); void cleanup() { + DBUG_ENTER("Item_func_in::cleanup"); delete array; delete in_item; array= 0; in_item= 0; + DBUG_VOID_RETURN; } optimize_type select_optimize() const { return array ? OPTIMIZE_KEY : OPTIMIZE_NONE; } |