00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <config.h>
00021
00022 #include <drizzled/item/cache_int.h>
00023
00024 namespace drizzled
00025 {
00026
00027 void Item_cache_int::store(Item *item)
00028 {
00029 value= item->val_int_result();
00030 null_value= item->null_value;
00031 unsigned_flag= item->unsigned_flag;
00032 }
00033
00034
00035 void Item_cache_int::store(Item *item, int64_t val_arg)
00036 {
00037 value= val_arg;
00038 null_value= item->null_value;
00039 unsigned_flag= item->unsigned_flag;
00040 }
00041
00042
00043 String *Item_cache_int::val_str(String *str)
00044 {
00045 assert(fixed == 1);
00046 str->set(value, default_charset());
00047 return str;
00048 }
00049
00050 type::Decimal *Item_cache_int::val_decimal(type::Decimal *decimal_val)
00051 {
00052 assert(fixed == 1);
00053 int2_class_decimal(E_DEC_FATAL_ERROR, value, unsigned_flag, decimal_val);
00054 return decimal_val;
00055 }
00056
00057
00058 }