Commit graph

10 commits

Author SHA1 Message Date
00036862df Move utility conditional transactions to a helper wrapper.
FossilOrigin-Name: ae7078a55b83a71f41a6e5d076a6a5ad1483aafac10be5d77afcd4a537a6f663
2021-03-15 07:39:01 +00:00
54a9409066 Don't inadvertantly close an open transaction while using hash convenience methods.
FossilOrigin-Name: 6454408d0a2347681d8030e1788f94904aa69e7502ba695f099d964a638b8d49
2021-03-15 06:52:44 +00:00
c0cd35e260 Multiple changes.
- Complete first round of documentation.
  - Complete first round of tests and coverage.
  - Expand the thread benchmarker for testing metasync.
  - Add enumerators (each_key/each_value/each_pair) using cursors.
  - Remove keys() implementation in favor of using the emumerable.
  - Make deserialization more DRY.
  - Add an efficient length() method.
  - Add various Hash-alike methods.
  - General code cleanup for release.

FossilOrigin-Name: 0d2bd3995f203c9ac1734ac3da32dd2f09efda9a394e554e6006e44dd07a33b0
2021-03-14 23:19:41 +00:00
a54c286a75 Start blocking out some documentation.
- Fix some C rdoc so it is parsed correctly.
  - Fill out transaction testing.
  - Populate docs for DB options.

FossilOrigin-Name: f54dbfacf2dda100a116fdcc856ca5231e249f23238ca9d4355618e3a380a8f8
2021-02-14 09:47:04 +00:00
81ee69295c 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
2021-01-25 00:36:40 +00:00
5ed44e52fa Multiple changes.
- Provide a method to reopen the database environment if closed.
 - Add #keys, which returns an array of keys for the current collection.
 - Finish collection/namespace implementation.
 - Add various aliases (collection->namespace, etc)
 - Add #clear, which destroys data for a the current collection.
   If called in the main db, destroys all.  Don't close the environment
   after a #clear, just the dbi handle.
 - Various bugfixes.

FossilOrigin-Name: 8b00d59e8c5269266f3c6c0d10056a1c0fe1bb583ffbe099a6ed0dac3baf3a66
2020-12-17 01:09:43 +00:00
d92ba7c5eb Checkpoint commit.
Fleshing out collections, automatic serialization of values.  Stringify
all keys.

FossilOrigin-Name: 8bb5e27eacd18bc34b60309a03cdce31921f790c821dab89bf12cd9bfc19825d
2020-12-16 08:29:50 +00:00
0093c49b91 Refactor database cleanups to take the same path for #close and ruby's garbage collection.
FossilOrigin-Name: a2a8d99136cfa9e98e75cc262b8f9aefa5ed576d7af804416b8c8c7f4d4f4bdb
2020-12-01 07:58:49 +00:00
1b3aa55004 Basic storage and retrievals for strings working. Don't try it with anything but strings quite yet.
FossilOrigin-Name: 149679434867913e344a567542c3b6918d739c493c1c67c33a9ce18b63873ed4
2020-12-01 03:32:26 +00:00
37b8091690 Checkpoint commit, start sketching out MDBX::Database.
FossilOrigin-Name: 92f55b2d6cc9652cb9cb67e69588ed0f4f155086a5a160aae68a1f22e9114314
2020-11-30 05:57:26 +00:00