Make the del/put_current
and append
Cursor methods unsafe
#108
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 emerges from a bug that we found in the milli repository, an undefined behavior due to a bad usage of LMDB. We were keeping borrowed data from an LMDB database while modifying it by using
put_current
at the same time, this is prohibited!In this PR we simply declare the
del_current
,put_current
, andappend
iterator methods as unsafe and improved the documentation of them by introducing a Safety paragraph explaining the safe way to use these methods. The right way to use these methods is to justto_owned
the key and value from the database before using this method.