mirror of
https://github.com/MariaDB/server.git
synced 2026-05-02 13:15:32 +02:00
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.
This commit is contained in:
commit
2892d3a2ab
9 changed files with 132 additions and 14 deletions
14
sql/item.h
14
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue