Skip to main content

eventcore_postgres/projections/
mod.rs

1//! Transactional projection delivery support for PostgreSQL.
2
3pub use eventcore_types::{
4    DeliveryIdentityError, DeliveryPosition, DeliverySourceId, DeliveryUpperBound, EventTypeName,
5    PersistedEventEnvelope, PersistedEventId, ProjectionSelection, ProjectionSelectionError,
6    ProjectionSelectionId, ProjectionSource, ProjectionStreamFilter, ProjectorName,
7};
8pub use sqlx::{Postgres, Transaction};
9
10mod config;
11mod error;
12mod migration;
13mod projector;
14mod reset;
15mod runner;
16mod source;
17mod store;
18
19pub use config::{
20    PostgresProjectionConfig, PostgresProjectionMode, ProjectionConfigurationError,
21    ProjectionPollSleeper, ProjectionRetryPolicy, ProjectionRetrySleeper,
22    TokioProjectionPollSleeper, TokioProjectionRetrySleeper,
23};
24pub use error::{
25    BoxedProjectionError, ProjectionResetAndReplayError, ProjectionResetError,
26    TransactionalProjectionError,
27};
28pub use projector::{
29    AfterCommit, NoopAfterCommit, PostgresProjectionReset, PostgresProjector,
30    ProjectionFailureContext, ProjectionFailureDecision,
31};
32pub use reset::{reset_and_replay_transactional_projection, reset_transactional_projection};
33pub use runner::{ProjectionRunOutcome, run_transactional_projection};
34pub use source::{PostgresProjectionSource, PostgresProjectionSourceError};
35pub(crate) use store::ProjectionLeader;
36pub use store::{PostgresProjectionStore, ProjectionProgress};