• Tatiana A. Nurnberg's avatar
    Bug#40657: assertion with out of range variables and traditional sql_mode · 71913e35
    Tatiana A. Nurnberg authored
    In STRICT mode, out-of-bounds values caused an error message
    to be queued (rather than just a warning), without any further
    error-like processing happening. (The error is queued during
    update, at which time it's too late. For it to be processed
    properly, it would need to be queued during check-stage.)
    The assertion rightfully complains that we're trying to send
    an OK while having an error queued.
    
    Changeset breaks a lot of tests out into check-stage. This also
    allows us to send more correct warnings/error messages.
    
    sql/set_var.cc:
      cleanup: fold get_unsigned() and fix_unsigned() into one,
      as well as all the semi-common code from the ::check
      functions.
    71913e35
set_var.cc 129 KB