-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
db: add BTree index for kv snapshots #2367
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LTGM. See comments.
//! - if found item.key has \p seek_key as prefix, return found=false and item.key | ||
//! - if key is greater than all keys, return found=false and empty key | ||
//! \endverbatim | ||
SeekResult seek(ByteView seek_key, DataIterator& data_it); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it possible to put DataIterator in SeekResult here and same in get()?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it is not because it's not a pure output parameter: it's an input parameter that gets modified by the function call (i.e. the iterator gets moved).
This PR introduces support for reading B+Tree index files (
.bt
) associated to Erigon3 key-value state snapshots (.kv
).Related changes:
bitmask_operators
fromRecSplit
and move into common placeseg::Decompressor
to support files w/ key-value compression combinationsopen_btree_index
subcommand insnapshots
command-line utility