diff options
author | unknown <gshchepa/uchum@gleb.loc> | 2007-11-11 06:07:38 +0400 |
---|---|---|
committer | unknown <gshchepa/uchum@gleb.loc> | 2007-11-11 06:07:38 +0400 |
commit | aa95c4a7ed26b24efbe4b710d1a8adef7c057f37 (patch) | |
tree | 5ab8e236fdcd628ece92a5362dbe2c32fa6d48fb /sql/item.h | |
parent | 13451ac15558f6cdfb128c7d1f6111d3de9c41f2 (diff) | |
parent | c0df12e3a8c86c0ce357438d16c4470cb62d72a6 (diff) | |
download | mariadb-git-aa95c4a7ed26b24efbe4b710d1a8adef7c057f37.tar.gz |
Merge gleb.loc:/home/uchum/5.0-opt
into gleb.loc:/home/uchum/5.1-opt
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sp_rcontext.cc:
Auto merged
sql/sql_class.cc:
Auto merged
mysql-test/r/subselect.result:
Merge with 5.0-opt.
mysql-test/t/subselect.test:
Merge with 5.0-opt.
Diffstat (limited to 'sql/item.h')
-rw-r--r-- | sql/item.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sql/item.h b/sql/item.h index ba89985c3dc..6990d9ed021 100644 --- a/sql/item.h +++ b/sql/item.h @@ -2637,7 +2637,7 @@ public: }; virtual void store(Item *)= 0; enum Type type() const { return CACHE_ITEM; } - static Item_cache* get_cache(Item_result type); + static Item_cache* get_cache(const Item *item); table_map used_tables() const { return used_table_map; } virtual void keep_array() {} // to prevent drop fixed flag (no need parent cleanup call) @@ -2699,9 +2699,16 @@ class Item_cache_str: public Item_cache { char buffer[STRING_BUFFER_USUAL_SIZE]; String *value, value_buff; + bool is_varbinary; + public: - Item_cache_str(): Item_cache(), value(0) { } - + Item_cache_str(const Item *item) : + Item_cache(), value(0), + is_varbinary(item->type() == FIELD_ITEM && + ((const Item_field *) item)->field->type() == + MYSQL_TYPE_VARCHAR && + !((const Item_field *) item)->field->has_charset()) + {} void store(Item *item); double val_real(); longlong val_int(); @@ -2709,6 +2716,7 @@ public: my_decimal *val_decimal(my_decimal *); enum Item_result result_type() const { return STRING_RESULT; } CHARSET_INFO *charset() const { return value->charset(); }; + int save_in_field(Field *field, bool no_conversions); }; class Item_cache_row: public Item_cache |