summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorhf@deer.(none) <>2003-12-30 14:08:19 +0400
committerhf@deer.(none) <>2003-12-30 14:08:19 +0400
commitbfe134b86fad8eaa46196c8283cc91e6c77769b0 (patch)
tree2ae6e41d1324a906e2f8a6868b34fe75950e736f /sql/item_func.h
parent1547a03c797fa547f1664d9c56a313daf62972bc (diff)
downloadmariadb-git-bfe134b86fad8eaa46196c8283cc91e6c77769b0.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
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h10
1 files changed, 1 insertions, 9 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index ac67b5a4065..634880db7ad 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -107,7 +107,6 @@ public:
Item_func(List<Item> &list);
// Constructor used for Item_cond_and/or (see Item comment)
Item_func(THD *thd, Item_func &item);
- ~Item_func() {} /* Nothing to do; Items are freed automaticly */
bool fix_fields(THD *,struct st_table_list *, Item **ref);
table_map used_tables() const;
table_map not_null_tables() const;
@@ -755,7 +754,6 @@ public:
Item_udf_func(udf_func *udf_arg) :Item_func(), udf(udf_arg) {}
Item_udf_func(udf_func *udf_arg, List<Item> &list)
:Item_func(list), udf(udf_arg) {}
- ~Item_udf_func() {}
const char *func_name() const { return udf.name(); }
bool fix_fields(THD *thd, struct st_table_list *tables, Item **ref)
{
@@ -776,7 +774,6 @@ class Item_func_udf_float :public Item_udf_func
Item_func_udf_float(udf_func *udf_arg) :Item_udf_func(udf_arg) {}
Item_func_udf_float(udf_func *udf_arg, List<Item> &list)
:Item_udf_func(udf_arg,list) {}
- ~Item_func_udf_float() {}
longlong val_int() { return (longlong) Item_func_udf_float::val(); }
double val();
String *val_str(String *str);
@@ -790,7 +787,6 @@ public:
Item_func_udf_int(udf_func *udf_arg) :Item_udf_func(udf_arg) {}
Item_func_udf_int(udf_func *udf_arg, List<Item> &list)
:Item_udf_func(udf_arg,list) {}
- ~Item_func_udf_int() {}
longlong val_int();
double val() { return (double) Item_func_udf_int::val_int(); }
String *val_str(String *str);
@@ -805,7 +801,6 @@ public:
Item_func_udf_str(udf_func *udf_arg) :Item_udf_func(udf_arg) {}
Item_func_udf_str(udf_func *udf_arg, List<Item> &list)
:Item_udf_func(udf_arg,list) {}
- ~Item_func_udf_str() {}
String *val_str(String *);
double val()
{
@@ -830,7 +825,6 @@ class Item_func_udf_float :public Item_real_func
public:
Item_func_udf_float(udf_func *udf_arg) :Item_real_func() {}
Item_func_udf_float(udf_func *udf_arg, List<Item> &list) :Item_real_func(list) {}
- ~Item_func_udf_float() {}
double val() { return 0.0; }
};
@@ -840,7 +834,6 @@ class Item_func_udf_int :public Item_int_func
public:
Item_func_udf_int(udf_func *udf_arg) :Item_int_func() {}
Item_func_udf_int(udf_func *udf_arg, List<Item> &list) :Item_int_func(list) {}
- ~Item_func_udf_int() {}
longlong val_int() { return 0; }
};
@@ -850,7 +843,6 @@ class Item_func_udf_str :public Item_func
public:
Item_func_udf_str(udf_func *udf_arg) :Item_func() {}
Item_func_udf_str(udf_func *udf_arg, List<Item> &list) :Item_func(list) {}
- ~Item_func_udf_str() {}
String *val_str(String *) { null_value=1; return 0; }
double val() { null_value=1; return 0.0; }
longlong val_int() { null_value=1; return 0; }
@@ -997,7 +989,7 @@ public:
Item_func_match(List<Item> &a, uint b): Item_real_func(a), key(0), flags(b),
join_key(0), ft_handler(0), table(0), master(0), concat(0) { }
- ~Item_func_match()
+ void cleanup()
{
if (!master && ft_handler)
{