summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <bar@bar.mysql.r18.ru>2003-07-15 17:33:00 +0500
committerunknown <bar@bar.mysql.r18.ru>2003-07-15 17:33:00 +0500
commit4b3eecf46b640b3601527ea59d819ddaec5820f8 (patch)
tree845244d4cf55ac7b19a0acd7fb5c0302a7e7e665 /sql/item_func.h
parent54fe4c542efbfbe10b320e73980bff9471554452 (diff)
downloadmariadb-git-4b3eecf46b640b3601527ea59d819ddaec5820f8.tar.gz
Item_func_field doesn't have a separate Item to store the first argument.
It's now passed as args[0]. This fix allowed to resuse a lot of code.
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h21
1 files changed, 1 insertions, 20 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index a5575a35851..a0969fc6b9a 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -625,33 +625,14 @@ public:
class Item_func_field :public Item_int_func
{
- Item *item;
String value,tmp;
Item_result cmp_type;
DTCollation cmp_collation;
public:
- Item_func_field(Item *a,List<Item> &list) :Item_int_func(list),item(a) {}
- ~Item_func_field() { delete item; }
+ Item_func_field(List<Item> &list) :Item_int_func(list) {}
longlong val_int();
- bool fix_fields(THD *thd,struct st_table_list *tlist, Item **ref)
- {
- return (item->fix_fields(thd, tlist, &item) || item->check_cols(1) ||
- Item_func::fix_fields(thd, tlist, ref));
- }
- void split_sum_func(Item **ref_pointer_array, List<Item> &fields);
- void update_used_tables()
- {
- item->update_used_tables() ; Item_func::update_used_tables();
- used_tables_cache|= item->used_tables();
- const_item_cache&= item->const_item();
- }
const char *func_name() const { return "field"; }
void fix_length_and_dec();
- void set_outer_resolving()
- {
- item->set_outer_resolving();
- Item_int_func::set_outer_resolving();
- }
};