|
The following methods:
Item_func_neg::fix_length_and_dec()
|
Item_func_abs::fix_length_and_dec()
|
Item_func_int_val::fix_length_and_dec()
|
have switches on arg[0]->cast_to_int_type().
This is not friendly to pluggable data types.
Under term of this task we'll split implementations of these methods into new methods in Type_handler:
virtual bool Item_func_abs_fix_length_and_dec(Item_func_abs *) const;
|
virtual bool Item_func_int_val_fix_length_and_dec(Item_func_int_val *) const;
|
virtual bool Item_func_neg_fix_length_and_dec(Item_func_neg *) const;
|
|