summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2002-12-19 13:35:12 +0200
committerbell@sanja.is.com.ua <>2002-12-19 13:35:12 +0200
commit54c7afd2a58c0c808b32da95091191f00179a727 (patch)
tree2af383ef3d4c84441e61b93c00b68bf81e9e2ca5 /sql/item_cmpfunc.h
parent4cfb6d97b54a12ea4e5d9e2eb0b671e602ee99f2 (diff)
downloadmariadb-git-54c7afd2a58c0c808b32da95091191f00179a727.tar.gz
Item_in_optimizer is changed to be used with row IN subselect (SCRUM)
removed unused items
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r--sql/item_cmpfunc.h19
1 files changed, 7 insertions, 12 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 994e51ef89f..41171da1338 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -85,25 +85,20 @@ public:
void fix_length_and_dec() { decimals=0; max_length=1; }
};
+class Item_cache;
class Item_in_optimizer: public Item_bool_func
{
protected:
- char buffer[80];
- longlong int_cache;
- double flt_cache;
- String *str_cache;
- bool int_cache_ok, flt_cache_ok, str_cache_ok;
+ Item_cache *cache;
public:
Item_in_optimizer(Item *a,Item *b):
- Item_bool_func(a,b), int_cache_ok(0), flt_cache_ok(0), str_cache_ok(0) {}
- bool is_null() { return test(args[0]->is_null() || args[1]->is_null()); }
+ Item_bool_func(a,b), cache(0) {}
+ bool fix_fields(THD *, struct st_table_list *, Item **);
+ bool is_null();
longlong val_int();
+
+ Item **get_cache() { return (Item**)&cache; }
- double get_cache();
- longlong get_cache_int();
- String *get_cache_str(String *s);
-
- friend class Item_ref_in_optimizer;
};
class Item_bool_func2 :public Item_int_func