remora/crates/remora-durable/src/lib.rs

32 lines
1.1 KiB
Rust

//! PostgreSQL DurableStore substrate.
//!
//! Provides the pool, migration runner, transaction helpers, generic mutation
//! ledger refining `RemoraApiMutation`, durable outbox claim/projection, and
//! integrity-protected keyset cursor primitives. Feature packages own their
//! domain schema additions.
mod cas;
mod cursor;
mod error;
mod ledger;
mod migrate;
mod outbox;
mod pool;
mod tx;
pub use cas::{cas_set_text, cas_set_text_pool};
pub use cursor::{CursorCodec, KeysetCursor, KeysetPosition, first_page_cursor, next_page_cursor};
pub use error::DurableError;
pub use ledger::{
MutationDisposition, MutationOutcome, MutationStatus, execute_mutation, execute_mutation_in_tx,
};
pub use migrate::{migrate, migrator};
pub use outbox::{
OutboxClaim, OutboxClaimFilter, OutboxMessage, claim_batch, claim_batch_in_tx, enqueue,
enqueue_after, mark_projected, mark_projected_pool, release_with_error, unprojected_count,
};
pub use pool::{PoolConfig, connect};
pub use tx::{
ADVISORY_CLASS_APP, ADVISORY_CLASS_MUTATION, BoxFuture, PgTx, advisory_key, advisory_xact_lock,
set_lock_timeout, with_transaction,
};