Skip to content

CedroDB 0.4.0 — Guarded inventory and outbox transactions

Pre-release
Pre-release

Choose a tag to compare

@uppy19d0 uppy19d0 released this 15 Oct 04:56

CedroDB 0.4.0 adds guarded multi-document writes for inventory reservations and idempotent local requests.

  • Check absent/equals conditions against committed state before writing a batch.
  • Update stock, create an order and write its outbox event in one atomic transaction.
  • Reject stale reads and duplicate request keys without writing or advancing the cursor.
  • Return the first failed condition and the latest durable cursor in typed Rust/Node/Python APIs.
  • Keep null and missing keys distinct, and retain structural numeric equality across languages.
  • Validate input/frame limits before duplicating operation payloads.

Validation: 59 Rust tests, 25 Node tests and 36 Python tests; CI builds and interoperability pass on all four native platforms. Tests include competing stock reservations, atomic failure, limits, indexes, reopen and backup compatibility.

Experimental. Guard every document your decision depends on; this is not MVCC or a snapshot across earlier reads. Applications own business validation, revisions for ABA detection and external-event deduplication. The transaction log format and 0.3 backup APIs are unchanged.