diff options
author | unknown <hf@deer.(none)> | 2003-12-30 14:08:19 +0400 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2003-12-30 14:08:19 +0400 |
commit | c3b49a4e6ad53caba5c3c42caa84e763021be69a (patch) | |
tree | 2ae6e41d1324a906e2f8a6868b34fe75950e736f /sql/item_row.h | |
parent | 1575b77af5b446150d0fa435149df209b29dd0f3 (diff) | |
download | mariadb-git-c3b49a4e6ad53caba5c3c42caa84e763021be69a.tar.gz |
Fix for prepared statements
Here i added Item_*::cleanup() functions,
removed a lot of ~Item_*'s,
added code to restore order_list and group_list
sql/item.cc:
cleanups methods implemented
Item_ref constructors changed
sql/item.h:
cleanups declared
Item_ref constructors changed
some ~Item_* deleted
sql/item_cmpfunc.cc:
new Item_ref format
sql/item_cmpfunc.h:
saving/restoring of the original arguments added to
eq and equal functions
sql/item_func.cc:
New Item_ref format
sql/item_func.h:
destructors removed/changed to 'cleanup()'
sql/item_row.cc:
New Item_ref format
sql/item_row.h:
~Item_row -> cleanup()
sql/item_strfunc.cc:
new Item_ref format
sql/item_strfunc.h:
destructors removed
sql/item_subselect.cc:
Item_subselect implementation,
new Item_ref() format
sql/item_subselect.h:
cleanups for subselects declared
sql/item_sum.cc:
cleanups implementations
sql/item_sum.h:
cleanups declarations
destructors removed
sql/mysql_priv.h:
free_items, cleanup_items exported
sql/sql_prepare.cc:
cleanup_items, free_items calls added
stmt->query_id= thd->query_id restored
cleanup procedures for group_list and order_list added
sql/sql_yacc.yy:
New Item_ref() format
Diffstat (limited to 'sql/item_row.h')
-rw-r--r-- | sql/item_row.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/item_row.h b/sql/item_row.h index a09bd1a2c31..1b792f981fd 100644 --- a/sql/item_row.h +++ b/sql/item_row.h @@ -34,10 +34,14 @@ public: with_null(0) {} - ~Item_row() + void cleanup() { if (array_holder && items) + { sql_element_free(items); + items= 0; + array_holder= 0; + } } enum Type type() const { return ROW_ITEM; }; |