Multiple changes.

- Alter the behavior of #clear, so it doesn't destroy collection
   environments, but just empties them.
 - Add #drop, which explictly -does- destroy a collection environment.
 - Run all cursor methods through rb_protect, to ensure proper
   cursor cleanup in the event of an exception mid iteration.
 - Fix the block form of collections to support multiple scopes.
 - Switching to a collection now automatically creates its environment.
 - Add include? and has_key?, for presence checks without allocating
   value memory or requiring deserialization.

FossilOrigin-Name: e1ed7bf613981607bb3b57ce7dd3e58b94ea3046e140b6dc37440da8d2909f94
This commit is contained in:
Mahlon E. Smith 2021-04-08 22:27:47 +00:00
parent 1e04b12efa
commit ca34f9fdc5
7 changed files with 365 additions and 114 deletions

View file

@ -4,6 +4,7 @@
require 'rake/deveiate'
Rake::DevEiate.setup( 'mdbx' ) do |project|
project.publish_to = 'martini.nu:martini/www/docs/ruby-mdbx/'
project.summary = <<~END_SUM
A ruby binding to libmdbx, an improved version
of the Lightning Memory Mapped Database.