Updated on 2024-06-07 GMT+08:00

RCR Uheap Multi-Version Management

Ustore has made the following enhancements to the heap it uses, which is referred to as Uheap.

The multi-version management of the Ustore row consistency read (RCR) is based on data row levels. However, different from storing XIDs in data rows, the Ustore stores XIDs in the transaction directories (TDs) of pages, which saves page space. When a transaction modifies a record, historical data is recorded in the undo row. The generated undo row addresses (zone_id, block no, and page offset) are recorded in the TD slot to which td_id in tuple points, and new data is overwritten to the page. When a tuple is accessed, the tuple is restored along the version chain until the corresponding version is found.