22 #include <drizzled/field.h>
23 #include <drizzled/item/cache.h>
24 #include <drizzled/item/cache_decimal.h>
25 #include <drizzled/item/cache_int.h>
26 #include <drizzled/item/cache_real.h>
27 #include <drizzled/item/cache_row.h>
28 #include <drizzled/item/cache_str.h>
29 #include <drizzled/lex_string.h>
33 Item_cache* Item_cache::get_cache(
const Item *item)
35 switch (item->result_type())
38 return new Item_cache_int();
41 return new Item_cache_real();
44 return new Item_cache_decimal();
47 return new Item_cache_str(item);
50 return new Item_cache_row();
60 str->append(STRING_WITH_LEN(
"<cache>("));
68 bool Item_cache::eq_def(
Field *field)
70 return cached_field ? cached_field->
eq_def(field) :
false;
virtual bool eq_def(Field *field)
virtual void print(String *str)
virtual void print(String *str)