• Alexander Barkov's avatar
    A cleanup for MDEV-17317 Add THD* parameter into Item::get_date() and stricter... · e5aebc14
    Alexander Barkov authored
    A cleanup for MDEV-17317 Add THD* parameter into Item::get_date() and stricter data type control to "fuzzydate"
    
    Fixing C++ function check_date() to get the "fuzzydate" as
    date_mode_t rather than ulonglong, so conversion from
    date_time_t to ulonglong is now done inside C++ check_date(),
    and no conversion is needed in the callers' code.
    
    As an additional safety, modified the code not to pass
    TIME_FUZZY_DATE to the low level C functions:
    - check_date()
    - str_to_datetime()
    - str_to_time()
    - number_to_datetime()
    because TIME_FUZZY_DATE is known only on the C++ level,
    C functions do not know it.
    
    Soon we'll be adding more flags into the C++ level (i.e. to date_time_t),
    e.g. for rounding. It's a good idea to prevent passing C++ specific
    flags into pure C routines before this change.
    
    Asserts were added into the affected C functions to verify
    that the caller passed only known C level flags.
    e5aebc14
item_timefunc.cc 86.4 KB