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.
This PR changes the way the Iteratee interface is defined. Previously, we had:
But no good way to get a prefixed iterator with a given start position. As that was missing, a lot of code made one of two mistakes:
NewIteratorWithStart( prefix ++ start)
. This solution is wrong; consider the prefix0x0a
and start0x00
. The returned iterator would also return e.g0x0b
, as it is aftera
in the keyspace.NewIteratorWithPrefix( prefix ++ start)
. This is also wrong. Consider the prefix0x0a
and start0x01
. This iterator would miss a key at0x0a02
, since0x0a01
is not a prefix to0x0a02
.I replaced both of these with