• Vicențiu Ciorbaru's avatar
    MDEV-13358: FIRST_V throw SQL Fehler (1292): Incorrect datetime value · 02eda36e
    Vicențiu Ciorbaru authored
    This is backport of 25ad623d for 10.2.
    
    The issue is similar to the one from MDEV-13240. Item::save_in_field()
    returns an error during tmp table population in a create table from select query
    as we try to save an empty string as a date value when
    force_return_blank is set to true for window functions.
    
        MDEV-13240 Wrong warning with MAX(datetime_field) OVER (...)
    
        The problem resided in Item_window_func implementation,
        and it was revealed by bb-10.2-ext specific changes:
    
        Item_window_func::save_in_field() works differently in bb-10.2-ext vs 10.2:
    
        - 10.2 goes through val_str()
        - bb-10.2-ext goes through get_date(), due to Type_handler related changes.
          get_date() tries to convert empty string to DATETIME, hence the warning.
    
        During a discussion with Vicentiu, it was decided to fix
        Item_window_func::val_xxx() to return NULL
        (instead of an "empty" value, such as 0 for numbers and '' for strings)
        when force_return_blank is set.
    02eda36e
item_windowfunc.h 22.1 KB