Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
This task will add a new virtual method in Type_handler:
virtual bool Item_hybrid_func_fix_attributes(THD *thd, Item_hybrid_func *func, |
Item **items,
|
uint nitems) const; |
and split this code in Item_hybrid_func::fix_attributes into the new method implementation in the relevant type handler implementations:
switch (Item_hybrid_func::result_type()) { |
case STRING_RESULT: |
..
|
case DECIMAL_RESULT: |
..
|
case REAL_RESULT: |
..
|
case INT_RESULT: |
..
|
case ROW_RESULT: |
case TIME_RESULT: |
..
|
}
|
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.
Attachments
Issue Links
- blocks
-
MDEV-4912 Data type plugin API version 1
- Closed