This task will add a new virtual method in Type_handler:
and split this code in Item_hybrid_func::fix_attributes into the new method implementation in the relevant type handler implementations:
and also remove a special STRING_RESULT condition in Item_func_case::fix_length_and_dec(), to make the code symmetric across the data types.
Note, the THD* parameter to Type_handler::Item_hybrid_func_fix_attributes is not needed right now, but it will be needed soon:
- for MDEV-10575
- to get rid of current_thd calls inside count_string_length(), as it was planned to get rid of most current_thd calls in 10.3.