• Aleksey Midenkov's avatar
    MDEV-26778 row_start is not updated in current row for InnoDB · 241ac79e
    Aleksey Midenkov authored
    Update was skipped (need_update was false) because compare_record()
    used HA_PARTIAL_COLUMN_READ branch and it skipped row_start check
    has_explicit_value() was false. When we set bit for row_start in
    has_value_set the row is updated with new row_start value.
    
    The bug was caused by combination of MDEV-23446 and 3789692d. The
    latter one says:
    
      ... But generated columns that are written to the table are always
      deterministic and cannot change unless normal non-generated columns
      were changed. ...
    
    Since MDEV-23446 generated row_start can change while non-generated
    columns are not changed.
    
    Explicit value flag came from HAS_EXPLICIT_DEFAULT which was used to
    distinguish default-generated value from user-supplied one.
    241ac79e
table.cc 281 KB