Public Member Functions | |
virtual Item_result | type () const |
virtual void | fix_length_and_dec (Item *item, Item *arg) const |
virtual void | div (Hybrid_type *val, uint64_t u) const |
virtual void | set_zero (Hybrid_type *val) const |
virtual void | add (Hybrid_type *val, Field *f) const |
virtual int64_t | val_int (Hybrid_type *val, bool unsigned_flag) const |
virtual double | val_real (Hybrid_type *val) const |
virtual type::Decimal * | val_decimal (Hybrid_type *val, type::Decimal *buf) const |
virtual String * | val_str (Hybrid_type *val, String *buf, uint8_t decimals) const |
Static Public Member Functions | |
static const Hybrid_type_traits_fast_decimal * | instance () |
Behaves like an Integer except to fix_length_and_dec(). Additionally div() converts val with this traits to a val with true decimal traits along with conversion of integer value to decimal value. This is to speedup SUM/AVG(DISTINCT) evaluation for 8-32 bit integer values.