#include <item.h>
Inheritance diagram for Item_cache:


Public Member Functions | |
| Item_cache () | |
| void | set_used_tables (table_map map) |
| virtual bool | allocate (uint i) |
| virtual bool | setup (Item *item) |
| virtual void | store (Item *)=0 |
| enum Type | type () const |
| table_map | used_tables () const |
| virtual void | keep_array () |
| void | cleanup () |
| void | print (String *str) |
Static Public Member Functions | |
| static Item_cache * | get_cache (Item_result type) |
Protected Attributes | |
| Item * | example |
| table_map | used_table_map |
Definition at line 2350 of file item.h.
| Item_cache::Item_cache | ( | ) | [inline] |
Definition at line 2356 of file item.h.
References Item::fixed, and Item::null_value.
02356 : example(0), used_table_map(0) {fixed= 1; null_value= 1;}
| void Item_cache::cleanup | ( | ) | [inline, virtual] |
Reimplemented from Item.
Reimplemented in Item_cache_row.
Definition at line 2376 of file item.h.
Referenced by Item_cache_row::cleanup().
Here is the caller graph for this function:

| Item_cache * Item_cache::get_cache | ( | Item_result | type | ) | [static] |
Definition at line 5742 of file item.cc.
References DBUG_ASSERT, DECIMAL_RESULT, INT_RESULT, REAL_RESULT, ROW_RESULT, and STRING_RESULT.
Referenced by sp_rcontext::create_case_expr_holder(), Item_in_optimizer::fix_left(), set_row(), and Item_cache_row::setup().
05743 { 05744 switch (type) { 05745 case INT_RESULT: 05746 return new Item_cache_int(); 05747 case REAL_RESULT: 05748 return new Item_cache_real(); 05749 case DECIMAL_RESULT: 05750 return new Item_cache_decimal(); 05751 case STRING_RESULT: 05752 return new Item_cache_str(); 05753 case ROW_RESULT: 05754 return new Item_cache_row(); 05755 default: 05756 // should never be in real life 05757 DBUG_ASSERT(0); 05758 return 0; 05759 } 05760 }
Here is the caller graph for this function:

| virtual void Item_cache::keep_array | ( | ) | [inline, virtual] |
Reimplemented in Item_cache_row.
Definition at line 2374 of file item.h.
Referenced by Item_in_optimizer::keep_top_level_cache().
Here is the caller graph for this function:

| void Item_cache::print | ( | String * | str | ) | [virtual] |
Reimplemented from Item.
Definition at line 5763 of file item.cc.
References String::append(), example, Item::print(), and STRING_WITH_LEN.
05764 { 05765 str->append(STRING_WITH_LEN("<cache>(")); 05766 if (example) 05767 example->print(str); 05768 else 05769 Item::print(str); 05770 str->append(')'); 05771 }
Here is the call graph for this function:

| void Item_cache::set_used_tables | ( | table_map | map | ) | [inline] |
Definition at line 2358 of file item.h.
References used_table_map.
Referenced by Item_in_optimizer::fix_left().
02358 { used_table_map= map; }
Here is the caller graph for this function:

Reimplemented in Item_cache_row.
Definition at line 2361 of file item.h.
References Item::collation, Item::decimals, example, Item::max_length, DTCollation::set(), and Item::unsigned_flag.
Referenced by Item_in_optimizer::fix_left(), set_row(), and Item_cache_row::setup().
02362 { 02363 example= item; 02364 max_length= item->max_length; 02365 decimals= item->decimals; 02366 collation.set(item->collation); 02367 unsigned_flag= item->unsigned_flag; 02368 return 0; 02369 };
Here is the call graph for this function:

Here is the caller graph for this function:

| virtual void Item_cache::store | ( | Item * | ) | [pure virtual] |
Implemented in Item_cache_int, Item_cache_real, Item_cache_decimal, Item_cache_str, and Item_cache_row.
Referenced by Item_in_optimizer::is_null(), sp_rcontext::set_case_expr(), Item_singlerow_subselect::store(), and Item_in_optimizer::val_int().
Here is the caller graph for this function:

| enum Type Item_cache::type | ( | ) | const [inline, virtual] |
Implements Item.
Definition at line 2371 of file item.h.
References Item::CACHE_ITEM.
02371 { return CACHE_ITEM; }
| table_map Item_cache::used_tables | ( | ) | const [inline, virtual] |
Reimplemented from Item.
Definition at line 2373 of file item.h.
References used_table_map.
02373 { return used_table_map; }
Item* Item_cache::example [protected] |
Definition at line 2353 of file item.h.
Referenced by print(), setup(), and Item_cache_row::setup().
table_map Item_cache::used_table_map [protected] |
1.4.7

