Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
There is a code in item_cmpfunc.cc:
int Arg_comparator::set_compare_func(Item_func_or_sum *item, Item_result type) |
{
|
owner= item;
|
func= comparator_matrix[type]
|
[is_owner_equal_func()];
|
 |
switch (type) { |
case TIME_RESULT: |
..
|
case INT_RESULT: |
..
|
case STRING_RESULT: |
..
|
case DECIMAL_RESULT: |
..
|
case REAL_RESULT: |
}
|
Under terms of this task we'll decompose this switch into a new virtual method in Type_handler:
virtual bool set_comparator_func(Arg_comparator *cmp) const; |
Pieces of the code from every XXX_RESULT in the switch will go to the corresponding Type_handler.
E.g. the code from STRING_RESULT will go to Type_handler_string_result::set_comparator_func.
Attachments
Issue Links
- blocks
-
MDEV-4912 Data type plugin API version 1
- Closed