23 #include <drizzled/field/num.h>
49 unsigned char *null_ptr_arg,
50 unsigned char null_bit_arg,
51 enum utype unireg_check_arg,
52 const char *field_name_arg,
57 const char *field_name_arg,
61 enum_field_types type()
const {
return DRIZZLE_TYPE_DECIMAL;}
62 enum ha_base_keytype key_type()
const {
return HA_KEYTYPE_BINARY; }
63 Item_result result_type ()
const {
return DECIMAL_RESULT; }
67 int store(
const char *to, uint32_t length,
const charset_info_st *
const charset);
69 int store(int64_t nr,
bool unsigned_val);
72 double val_real(
void)
const;
73 int64_t val_int(
void)
const;
76 int cmp(
const unsigned char *,
const unsigned char *);
77 void sort_string(
unsigned char *buff, uint32_t length);
78 bool zero_pack()
const {
return 0; }
80 uint32_t size_of()
const {
return sizeof(*this); }
84 virtual const unsigned char *
unpack(
unsigned char* to,
const unsigned char *from,
85 uint32_t param_data,
bool low_byte_first);
bool store_value(const type::Decimal *decimal_value)
void set_value_on_overflow(type::Decimal *decimal_value, bool sign)
virtual const unsigned char * unpack(unsigned char *to, const unsigned char *from, uint32_t param_data, bool low_byte_first)
uint32_t pack_length() const
int store_time(type::Time <ime, type::timestamp_t t_type)
uint32_t pack_length_from_metadata(uint32_t field_metadata)
virtual const unsigned char * unpack(unsigned char *to, const unsigned char *from, uint32_t param_data, bool low_byte_first)