-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
5
-
Storage - Ra 2020-05-04
At the moment, __wt_txn_read returns pointers to WT_UPDATE structs. This isn't efficient because it means that we've had to artificially allocate updates to fit this interface when an update doesn't exist organically in the system:
- We allocate an update when returning the on-disk value.
- We allocate updates when returning history store updates.
- We allocate tombstone updates to signify an absence of a value.
We should also check the usages in bt_cursor.c as it seems there are situations where we may be checking the history store twice and generally just not using that function optimally.