MDEV-13697 DB_TRX_ID is not always reset
The rollback of the modification of a pre-existing record should involve a purge-like operation. Before MDEV-12288 the only purge-like operation was the removal of a delete-marked record. After MDEV-12288, any rollback of updating an existing record must reset the DB_TRX_ID column when it is no longer visible in the purge read view. row_vers_must_preserve_del_marked(): Remove. It is cleaner to perform the check directly in row0umod.cc. row_trx_id_offset(): Auxiliary function to retrieve the byte offset of DB_TRX_ID in a clustered index leaf page record. row_undo_mod_must_purge(): Determine if a record should be purged. row_undo_mod_clust(): For temporary tables, skip the purge checks. When rolling back an update so that the original record was not delete-marked, reset DB_TRX_ID if the history is no longer visible.
Showing
Please register or sign in to comment