• Alexander Barkov's avatar
    MDEV-17607 DATE(COALESCE(year_column)) returns a wrong result · 563efece
    Alexander Barkov authored
    C++ does not guarantee the order of parameter evaluation.
    It was wrong to pass item->val_int() and item->null_value
    at the same time to any function or constructor.
    Adding a new helper class Longlong_null, and new methods
    Item::to_longlong_null() and Item_func_hybrid_field_type::to_longlong_null_op(),
    which make sure to properly call val_int()/int_op() and test null_value.
    Reorganizing the rest of the code accordingly.
    563efece
item_func.h 103 KB