LMDB key-size audit for a Datalevin store.
A string value longer than safe-value-length is stored and pullable but
cannot be bound by value in a :where clause, and cannot be looked up as a
:db.unique/identity. Datalevin reports no error — the query returns an
empty result, which is indistinguishable from absence.
Contract: (audit conn) => {attr {:max-len n :values n :unique u :over-limit? b}} (violations conn) => the sub-map whose :over-limit? is true (value-safe? s) => whether one value can be matched by value
LMDB key-size audit for a Datalevin store.
A string value longer than `safe-value-length` is stored and pullable but
cannot be bound by value in a `:where` clause, and cannot be looked up as a
`:db.unique/identity`. Datalevin reports no error — the query returns an
empty result, which is indistinguishable from absence.
Contract:
(audit conn) => {attr {:max-len n :values n :unique u :over-limit? b}}
(violations conn) => the sub-map whose :over-limit? is true
(value-safe? s) => whether one value can be matched by valueDatalevin store-open self-heal. Classify an LMDB open failure and apply a
recovery policy so the store returns to health without operator action.
heal-and-open! composes classification + policy + the caller's open-fn;
it never opens the db itself, keeping this ns driver-agnostic at compile time.
Datalevin store-open self-heal. Classify an LMDB open failure and apply a recovery policy so the store returns to health without operator action. `heal-and-open!` composes classification + policy + the caller's `open-fn`; it never opens the db itself, keeping this ns driver-agnostic at compile time.
Datalevin (LMDB) implementation of hive-spi.kg.protocol/IKGStore. Schema, value-type map, db-path and cache-limit are injected by the host — the store carries no domain schema or config resolution of its own.
Datalevin (LMDB) implementation of hive-spi.kg.protocol/IKGStore. Schema, value-type map, db-path and cache-limit are injected by the host — the store carries no domain schema or config resolution of its own.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |