This PR is to make changes to transaction structure such that during commit/rollback, it can access the update structure through indirect references ( indirect references are needed as prepared updates can be stored to lookaside), hence commit/rollback might be referring to an update structure stored in lookaside.
Each TXN_OP structure will store the key of the operation as indirect reference, which can be used to retrieve the update structure. Operation key is not available in TXN_OP or WT_UPDATE structure to use during prepare time, hence coping the key to TXN_OP as part of the operation itself. Key is needed only in case of single record level operation (not for truncate). Changes made to TXN_OP so that sizeof it will not increase.
New types are added to facilitate the release of key in __wt_txn_op_free. ( In case of column store, the key will not be allocated)
该提问来源于开源项目:wiredtiger/wiredtiger