An embedded, single-file key-value store for OCaml, inspired by BoltDB and LMDB.
1(** Transaction operations with phantom types for mode safety *)
2
3(** Transaction handle parameterized by mode ('mode = ro | rw) *)
4type 'mode t
5
6(** Get the root bucket *)
7val root : 'mode t -> ('mode Bucket.t, Error.t) result
8
9(** Get transaction state *)
10val state : 'mode t -> Types.txn_state
11
12(** Commit a read-write transaction *)
13val commit : Types.rw t -> (unit, Error.t) result
14
15(** Rollback a transaction *)
16val rollback : 'mode t -> unit