• evgen@moonbone.local's avatar
    Bug#27033: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE if rows were · 92c85582
    evgen@moonbone.local authored
    touched but not actually changed.
    
    The LAST_INSERT_ID() is reset to 0 if no rows were inserted or changed.
    This is the case when an INSERT ... ON DUPLICATE KEY UPDATE updates a row
    with the same values as the row contains.
    
    Now the LAST_INSERT_ID() values is reset to 0 only if there were no rows
    successfully inserted or touched.
    The new 'touched' field is added to the COPY_INFO structure. It holds the
    number of rows that were touched no matter whether they were actually
    changed or not.
    92c85582
sql_insert.cc 94 KB