summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorhf@deer.(none) <>2004-01-19 21:06:27 +0400
committerhf@deer.(none) <>2004-01-19 21:06:27 +0400
commit7dda8c102f88de1578e343d508374b60b0cfe5fa (patch)
tree68d020ad65ffc40d49179abe19fb94245bfbf5d6 /sql/item.h
parentc29e27dabc1e7e44285edc442e967c97db424da4 (diff)
parent6985f346b9e63c6f626f90ef5cb1d38f6f82dd31 (diff)
downloadmariadb-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.h16
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)); }