Commit graph

10 commits

Author SHA1 Message Date
48e2184570 Checkpoint work trying to make transactions thread safe.
FossilOrigin-Name: 3d7c96d03c58839bc6402ca0c69f8405edbdfde24c2cefdf8caa2bfdc8136625
2025-04-30 23:51:45 +00:00
6cc96d8fae Add Loggability for nicer debugging output.
FossilOrigin-Name: ff761d0e8e8638b1f4d98d8d913d99591d83da0167d75b28f1bd186e1907ee47
2021-10-06 17:25:50 +00:00
e9b476a4d7 Multiple changes.
- Raise an error if invalid options are passed to the constructor.
- Bugfix: Ensure drop() only removes the specified collection.
- Fix initializer double memory allocation.
- Fix key/data object allocation: make garbage collection safe.
- Move common macros to the global header file.

FossilOrigin-Name: 98d3016bd25921dead39d9c5474712766b56519d575bc8cd960932b3fbc16b69
2021-06-28 23:39:46 +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
ceb92fad16 Expose some mdbx statistics/metadata to ruby.
- Add anonymous structs for settings and state to the internal db
    instance struct.
  - Allow tweaking the max_readers setting on db open.
  - Allow altering database sizing/geometry values.
  - Start sketching out some transaction re-entrancy.
  - Refactor initialization slightly, just use the db struct
    instead of additional unnecessary vars.

FossilOrigin-Name: 513f02946f7dc39001c402c1adf0697bb2852ba867685b35adbccaaaf43c6e15
2020-12-23 01:10:19 +00:00
770a931d77 Multiple changes.
- Add build manifests for SourceHut.
  - Update README destination links.
  - Fix manifest for prerelease gem.
  - Reopen env handles when #clear is successful.
  - Fix #each when there is only one key.
  - Always use io_vec lengths when creating new strings.
  - Hook for rdoc generation.
  - Rename #open to #reopen, don't alias it.
  - Add a Rollback exception for upcoming transaction block work

FossilOrigin-Name: d6ddedc51b0ac67f395d5749aa3e6adbeebdaf2843c6402ace757b0afffc2be9
2020-12-22 06:24:18 +00:00
9f1388a8de Make #alloc allocate a rmdbx_t
FossilOrigin-Name: 38973ab9666bc59e44c2d2c48039b4a49bb295cf958fa996849dee4d73ea365e
2020-12-04 19:07:34 +00:00
37b8091690 Checkpoint commit, start sketching out MDBX::Database.
FossilOrigin-Name: 92f55b2d6cc9652cb9cb67e69588ed0f4f155086a5a160aae68a1f22e9114314
2020-11-30 05:57:26 +00:00
mahlon@laika.com
6a7bfb722f Initial layout/commit.
FossilOrigin-Name: 5ccedce83232d9c4f5341866293f884fde8bcc9c1df2ea7407740d2d984fae9b
2020-11-19 02:06:45 +00:00