|
Currently we have two versions of data type attribute aggregation code:
- For hybrid functions, implemented in Type_handler::Item_hybrid_func_fix_attributes()
- For UNION, implemented in Item_type_holder::join_types()
Both versions do the same thing, but in some cases UNION is not precise enough.
See bugs: MDEV-9495, MDEV-9497, MDEV-12594, MDEV-12595, MDEV-12599.
Under terms of this task we'll make the UNION related code reuse the code implemented in Type_handler::Item_hybrid_func_fix_attributes() and get rid of the second implementation in Item_type_holder::join_types().
This, among fixing the mentioned bugs, will simplify development of data type plugins, as the implementer will have to do less coding.
|