Add PostgreSQL DurableStore substrate for WP-03
Introduce remora-durable with pool/migrations, a RemoraApiMutation-shaped ledger, claim-fenced outbox projection, CAS helpers, and keyset cursors, plus a kind Job acceptance suite against the hermetic fixture.
This commit is contained in:
parent
af8bb1a03a
commit
957d170150
1 changed files with 3203 additions and 18 deletions
29
crates/remora-durable/src/lib.rs
Normal file
29
crates/remora-durable/src/lib.rs
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//! 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::{BoxFuture, PgTx, advisory_xact_lock, set_lock_timeout, with_transaction};
|
||||
Loading…
Reference in a new issue