Yggdrasil adapter for scriptum COW indexes.
Uses VALUE SEMANTICS: mutating operations (branch!, checkout, etc.) return new ScriptumSystem values. The underlying BranchIndexWriter instances are mutable (Lucene writers), but the system structure (which writers exist, which is current) is immutable.
Snapshot IDs are UUIDs stored in commit user-data.
Yggdrasil adapter for scriptum COW indexes. Uses VALUE SEMANTICS: mutating operations (branch!, checkout, etc.) return new ScriptumSystem values. The underlying BranchIndexWriter instances are mutable (Lucene writers), but the system structure (which writers exist, which is current) is immutable. Snapshot IDs are UUIDs stored in commit user-data.
(close! sys)Close the system and all its branch writers.
Close the system and all its branch writers.
(create path)(create path opts)Create a ScriptumSystem at the given path.
Creates a 'main' branch and returns the system. Options: :system-name - identifier for this system instance :analyzer - Lucene Analyzer (default: StandardAnalyzer)
Create a ScriptumSystem at the given path. Creates a 'main' branch and returns the system. Options: :system-name - identifier for this system instance :analyzer - Lucene Analyzer (default: StandardAnalyzer)
(create-over-store store cache)(create-over-store store cache opts)Create a ScriptumSystem backed by a konserve store rather than a directory.
The store model is what makes several of these protocols honest: an index
state has an immutable, content-addressed address
(scriptum.core/snapshot-address), so a holder can come back to it, and
gc-sweep! can collect from reachability instead of ageing out commit points
on one branch.
store must carry a konserve id — connect it with
konserve.store/connect-store, not connect-fs-store; see
scriptum.konserve/store-id-for for why a store without one is refused.
cache is a local directory it materializes through, derived and disposable.
Options: as create, plus :store-id, :max-merged-segment-mb,
:ram-buffer-mb.
Create a ScriptumSystem backed by a konserve store rather than a directory. The store model is what makes several of these protocols honest: an index state has an immutable, content-addressed address (`scriptum.core/snapshot-address`), so a holder can come back to it, and `gc-sweep!` can collect from reachability instead of ageing out commit points on one branch. `store` must carry a konserve id — connect it with `konserve.store/connect-store`, not `connect-fs-store`; see `scriptum.konserve/store-id-for` for why a store without one is refused. `cache` is a local directory it materializes through, derived and disposable. Options: as `create`, plus `:store-id`, `:max-merged-segment-mb`, `:ram-buffer-mb`.
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 |