摘要 |
In a database system, when an operation (a request or a transaction) that modifies one or more rows of a table is performed, multiple images of the row that is being modified (e.g., added, deleted, or updated) is stored in the table. State identifiers are provided to identify the state of each row, such as a "before image" row and an "after image" row. A before image row represents a row before a modification or "mutation" operation is performed. An after image row represents the latest row as processed by a current modification operation. A before image row is retained in each table as long as the transaction that created or updated the row is active. As soon as the transaction commits successfully, the before image rows become reusable and can be reused by another request or transaction. The state identifier associated with each row can also indicate that a "mutation" is not being performed on a row; that is, an operation that modifies the contents of the row is not currently being performed.
|