diff options
author | hf@deer.(none) <> | 2004-01-19 21:06:27 +0400 |
---|---|---|
committer | hf@deer.(none) <> | 2004-01-19 21:06:27 +0400 |
commit | 7dda8c102f88de1578e343d508374b60b0cfe5fa (patch) | |
tree | 68d020ad65ffc40d49179abe19fb94245bfbf5d6 /sql/item.h | |
parent | c29e27dabc1e7e44285edc442e967c97db424da4 (diff) | |
parent | 6985f346b9e63c6f626f90ef5cb1d38f6f82dd31 (diff) | |
download | mariadb-git-7dda8c102f88de1578e343d508374b60b0cfe5fa.tar.gz |
Merge deer.(none):/home/hf/work/mysql-4.1.clean
into deer.(none):/home/hf/work/mysql-4.1.1676
Diffstat (limited to 'sql/item.h')
-rw-r--r-- | sql/item.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sql/item.h b/sql/item.h index dc3a9114601..e9d34568350 100644 --- a/sql/item.h +++ b/sql/item.h @@ -882,13 +882,15 @@ public: void set_used_tables(table_map map) { used_table_map= map; } virtual bool allocate(uint i) { return 0; }; - virtual bool setup(Item *item) { example= item; return 0; }; - virtual void store(Item *)= 0; - void set_len_n_dec(uint32 max_len, uint8 dec) + virtual bool setup(Item *item) { - max_length= max_len; - decimals= dec; - } + example= item; + max_length= item->max_length; + decimals= item->decimals; + collation.set(item->collation); + return 0; + }; + virtual void store(Item *)= 0; enum Type type() const { return CACHE_ITEM; } static Item_cache* get_cache(Item_result type); table_map used_tables() const { return used_table_map; } @@ -913,7 +915,7 @@ class Item_cache_real: public Item_cache double value; public: Item_cache_real(): Item_cache() {} - + void store(Item *item); double val() { return value; } longlong val_int() { return (longlong) (value+(value > 0 ? 0.5 : -0.5)); } |