• unknown's avatar
    Bug #30715: Assertion failed: item_field->field->real_maybe_null(), · e2433cbc
    unknown authored
      file .\opt_sum.cc, line
    The optimizer pre-calculates the MIN/MAX values for queries like
     SELECT MIN(kp_k) WHERE kp_1 = const AND ... AND kp_k-1 = const
    when there is a key over kp_1...kp_k
    In doing so it was not checking correctly nullability and 
    there was a superfluous assert(). 
    Fixed by making sure that the field can be null before checking and
    taking out the wrong assert().
    .
    Introduced a correct check for nullability 
    The MIN(field) can return NULL when all the row values in the group
    are NULL-able or if there were no rows.
    Fixed the assertion to reflect the case when there are no rows.
    
    
    mysql-test/r/func_group.result:
      Bug #30715: test case
    mysql-test/t/func_group.test:
      Bug #30715: test case
    sql/opt_sum.cc:
      Bug #30715: correct nullability check for MIN/MAX pre-calculation over index.
    e2433cbc
opt_sum.cc 30.5 KB