mirror of https://github.com/MariaDB/server
Browse Source
row_merge_read_clustered_index(): The row->fields[] could point to a record in the clustered index page of the source table, or to an old version of the record that was constructed in row_heap. If the row->fields[] points to the clustered index page, then we were modifying buffer pool data without holding appropriate block->lock and without appropriate redo logging. The intention was to modify a copy of the data, not the source file page, because concurrent readers would still very much need the original values of the DB_TRX_ID,DB_ROLL_PTR for their multi-versioning. Either way, it is simplest to not write anything at all, and to make row->fields[] point to the constant reset_trx_id.pull/445/head
3 changed files with 14 additions and 13 deletions
Loading…
Reference in new issue