Checkpoint.
- Fix a couple of edge cases while switching between collections. - Raise error if attempting to switch collections mid-transaction. - Add logic for re-entrancy with long-running transactions. - Revert to the prior collection if passing a block to #collection. - Add a predicate to tell if you're currently within a long-running transaction. - Add separate commit/rollback to long-running transactions. FossilOrigin-Name: 711239e6fc2f25479a26fb54805da1e5db792f97f28a8b5724e0b38eb11cdb07
This commit is contained in:
parent
ceb92fad16
commit
81ee69295c
7 changed files with 239 additions and 29 deletions
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env rspec -cfd
|
||||
# vim: set nosta noet ts=4 sw=4 ft=ruby:
|
||||
|
||||
require_relative '../lib/helper'
|
||||
|
||||
|
|
@ -113,6 +114,12 @@ RSpec.describe( MDBX::Database ) do
|
|||
expect( db['key'] ).to be_truthy
|
||||
end
|
||||
|
||||
it "revert back to the previous collection when used in a block" do
|
||||
expect( db.collection ).to be_nil
|
||||
db.collection( 'bucket' ) { 'no-op' }
|
||||
expect( db.collection ).to be_nil
|
||||
end
|
||||
|
||||
it "can be cleared of contents" do
|
||||
db.collection( 'bucket' )
|
||||
10.times {|i| db[i] = true }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue