Do not store writes in the snapshot #151
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
scan()
,scan_at_ts()
andget_at_ts()
to consider both the write set and the snapshot of a transaction. For the scans, the actual complexity is implemented in a new helper methodmerging_scan
.@arriqaaq I think we need to normalize all types of scans in
vart
:impl Iterator<Item = (&[u8], &[u8], u64, u64)>
;Vec
's right away, always return an iterator.The fact that currently
range()
andscan_at_ts()
return considerably different types has made it very difficult to factor out the common merging logic intoTransaction::merging_scan
. Regular structures always lead to a simpler code.Benchmarks
main