Skip to main content

Crate corium_transactor

Crate corium_transactor 

Source
Expand description

Embedded single-writer transaction pipeline and index publisher, plus the networked transactor process (lease, gRPC services, indexing job).

Re-exports§

pub use backend::LogBackend;
pub use backend::NodeStore;
pub use backend::StorageConnectionError;
pub use backend::StoreSpec;

Modules§

backend
Pluggable transactor storage backends.
backup
Online, storage-native database backup and offline restore.
lease
Write leases carried on the database root record (see docs/design/log-and-transactor.md).
metrics
Lightweight process metrics with Prometheus text exposition.
node
The transactor as a process: multi-database state, durable naming, lease acquisition/renewal, background indexing, tx-report fan-out, and high-availability standby takeover.
server
Tonic services exposing a TransactorNode over the network.
txfn
Built-in Clojure transaction-function runtime (:db/fn, ADR-0008) on the bounded, GC-less cljrs-tx interpreter (feature cljrs).

Structs§

BatchCursor
A cursor for preparing a group-commit batch against an evolving in-memory value without touching the live one. Each Self::prepare validates against the effects of the earlier transactions in the batch (uniqueness, cardinality-one retraction, CAS), so a batch commits with exactly the semantics of committing the transactions one at a time. The caller makes the batch’s records durable, then publishes the cursor with EmbeddedTransactor::install_batch; a batch that never installs leaves the live value untouched.
DbRoot
Published durable index-root metadata carrying the write lease (see docs/design/log-and-transactor.md).
EmbeddedTransactor
A serialized, in-process transactor. The log append is the commit point.
Prepared
A transaction prepared against a BatchCursor but not yet durable, carrying its log record and the pieces needed to build a TxReport once the batch is durable.
TxReport
Result delivered after a transaction is durable and visible.

Enums§

TransactError
Pipeline errors.

Functions§

db_root_name
Root-store key for a database’s published index root.
publish_root
Publishes root under the fencing rules described on EmbeddedTransactor::publish_indexes.