Skip to main content

Crate hexeract_outbox_sql

Crate hexeract_outbox_sql 

Source
Expand description

SQL backends for the Hexeract outbox, built on sqlx.

This crate implements the backend-agnostic hexeract_outbox contracts (OutboxStore, OutboxPublisher) on top of sqlx, with one compile-time backend per Cargo feature:

  • postgres (default): PgOutboxStore / PgOutboxPublisher
  • mysql: MySqlOutboxStore / MySqlOutboxPublisher
  • sqlite: SqliteOutboxStore / SqliteOutboxPublisher

The SQL dialect differences (placeholder style, row locking, timestamp handling and schema DDL) are centralized in Dialect, so the per-backend stores share the statement templating and the envelope assembly logic.

Re-exports§

pub use dialect::Dialect;
pub use postgres::PgOutboxPublisher;
pub use postgres::PgOutboxStore;
pub use postgres::PgOutboxWorkerBuilder;
pub use mysql::MySqlOutboxPublisher;
pub use mysql::MySqlOutboxStore;
pub use mysql::MySqlOutboxWorkerBuilder;
pub use sqlite::SqliteOutboxPublisher;
pub use sqlite::SqliteOutboxStore;
pub use sqlite::SqliteOutboxWorkerBuilder;

Modules§

dialect
SQL dialect differences absorbed by the backend stores.
mysql
MySQL backend backed by sqlx::MySqlPool.
postgres
PostgreSQL backend backed by sqlx::PgPool.
sqlite
SQLite backend backed by sqlx::SqlitePool. SQLite backend for the Hexeract outbox.

Constants§

DEFAULT_TABLE_NAME
Default outbox table name used when a builder’s table_name is not set.