[package]
edition = "2024"
rust-version = "1.95"
name = "ruststream-sqlx"
version = "0.7.1"
authors = ["RustStream contributors"]
build = false
exclude = [
".sqlx",
"sqlx.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SQL databases for the RustStream messaging framework through sqlx: a transactional outbox over any RustStream broker and task queues in Postgres, MySQL/MariaDB and SQLite tables."
homepage = "https://powersemmi.github.io/ruststream-sqlx/latest/"
readme = "README.md"
keywords = [
"sqlx",
"outbox",
"queue",
"messaging",
"ruststream",
]
categories = [
"asynchronous",
"database",
]
license = "Apache-2.0"
repository = "https://github.com/powersemmi/ruststream-sqlx"
[package.metadata.docs.rs]
all-features = true
[features]
any = [
"inbox",
"sqlx/any",
]
asyncapi = [
"inbox",
"ruststream/asyncapi",
"dep:serde",
]
chrono = [
"inbox",
"dep:chrono",
"sqlx/chrono",
]
default = []
inbox = [
"dep:ruststream-sqlx-macros",
"dep:ruststream",
"dep:sqlx",
"dep:sqlx-core",
"sqlx/any",
"dep:futures",
"dep:tokio",
"dep:tokio-util",
"dep:tracing",
"dep:thiserror",
"dep:sync_wrapper",
"dep:stackfuture",
"dep:foldhash",
]
json = ["sqlx?/json"]
mysql = [
"ruststream-sqlx-dialect/mysql",
"ruststream-sqlx-macros?/mysql",
"sqlx?/mysql",
]
outbox = [
"dep:ruststream-sqlx-macros",
"dep:ruststream",
"dep:sqlx",
"dep:tokio",
"dep:tracing",
"dep:thiserror",
]
postgres = [
"ruststream-sqlx-dialect/postgres",
"ruststream-sqlx-macros?/postgres",
"sqlx?/postgres",
]
sqlite = [
"ruststream-sqlx-dialect/sqlite",
"ruststream-sqlx-macros?/sqlite",
"sqlx?/sqlite",
]
testing = [
"dep:ruststream",
"ruststream/testing",
]
time = [
"inbox",
"dep:time",
"sqlx/time",
]
[lib]
name = "ruststream_sqlx"
path = "src/lib.rs"
[[example]]
name = "guide_claim_forms"
path = "examples/guide/claim_forms.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "guide_enqueueing"
path = "examples/guide/enqueueing.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "guide_getting_started"
path = "examples/guide/getting_started.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "guide_ordering"
path = "examples/guide/ordering.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "guide_outbox"
path = "examples/guide/outbox.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "guide_production"
path = "examples/guide/production.rs"
required-features = [
"inbox",
"postgres",
"testing",
"asyncapi",
]
[[example]]
name = "guide_relay"
path = "examples/guide/relay.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "guide_retries"
path = "examples/guide/retries.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "guide_scaling"
path = "examples/guide/scaling.rs"
required-features = [
"inbox",
"sqlite",
"postgres",
"chrono",
"testing",
]
[[example]]
name = "guide_testing"
path = "examples/guide/testing.rs"
required-features = [
"inbox",
"sqlite",
"postgres",
"chrono",
"testing",
]
[[example]]
name = "guide_transactional"
path = "examples/guide/transactional.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "inbox"
path = "examples/inbox.rs"
required-features = [
"inbox",
"postgres",
"testing",
]
[[example]]
name = "manual_guide_claim_forms"
path = "examples/manual/guide/claim_forms.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_enqueueing"
path = "examples/manual/guide/enqueueing.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_getting_started"
path = "examples/manual/guide/getting_started.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_ordering"
path = "examples/manual/guide/ordering.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_outbox"
path = "examples/manual/guide/outbox.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_production"
path = "examples/manual/guide/production.rs"
required-features = [
"inbox",
"postgres",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_relay"
path = "examples/manual/guide/relay.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_retries"
path = "examples/manual/guide/retries.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_scaling"
path = "examples/manual/guide/scaling.rs"
required-features = [
"inbox",
"sqlite",
"postgres",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_testing"
path = "examples/manual/guide/testing.rs"
required-features = [
"inbox",
"sqlite",
"postgres",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_guide_transactional"
path = "examples/manual/guide/transactional.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_asyncapi"
path = "examples/manual/sqlx_asyncapi.rs"
required-features = [
"inbox",
"postgres",
"asyncapi",
"testing",
]
[[example]]
name = "manual_sqlx_broker"
path = "examples/manual/sqlx_broker.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_broker_connections"
path = "examples/manual/sqlx_broker_connections.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_broker_errors"
path = "examples/manual/sqlx_broker_errors.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_broker_prelude"
path = "examples/manual/sqlx_broker_prelude.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_broker_shutdown"
path = "examples/manual/sqlx_broker_shutdown.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_broker_startup"
path = "examples/manual/sqlx_broker_startup.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_context"
path = "examples/manual/sqlx_context.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_context_attempt"
path = "examples/manual/sqlx_context_attempt.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_context_pool"
path = "examples/manual/sqlx_context_pool.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_databases"
path = "examples/manual/sqlx_databases.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_databases_any"
path = "examples/manual/sqlx_databases_any.rs"
required-features = [
"inbox",
"any",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_databases_dialect"
path = "examples/manual/sqlx_databases_dialect.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_databases_mysql"
path = "examples/manual/sqlx_databases_mysql.rs"
required-features = [
"inbox",
"mysql",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_databases_postgres"
path = "examples/manual/sqlx_databases_postgres.rs"
required-features = [
"inbox",
"postgres",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_databases_sqlite"
path = "examples/manual/sqlx_databases_sqlite.rs"
required-features = [
"inbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_forms_advisory"
path = "examples/manual/sqlx_forms_advisory.rs"
required-features = [
"inbox",
"sqlite",
"testing",
]
[[example]]
name = "manual_sqlx_forms_lease"
path = "examples/manual/sqlx_forms_lease.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_forms_lock"
path = "examples/manual/sqlx_forms_lock.rs"
required-features = [
"inbox",
"sqlite",
"testing",
]
[[example]]
name = "manual_sqlx_forms_row_lock"
path = "examples/manual/sqlx_forms_row_lock.rs"
required-features = [
"inbox",
"postgres",
"testing",
]
[[example]]
name = "manual_sqlx_headers"
path = "examples/manual/sqlx_headers.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"json",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_headers_column"
path = "examples/manual/sqlx_headers_column.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_headers_fetch"
path = "examples/manual/sqlx_headers_fetch.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"json",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_headers_field"
path = "examples/manual/sqlx_headers_field.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_headers_layout"
path = "examples/manual/sqlx_headers_layout.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_messages_decoding"
path = "examples/manual/sqlx_messages_decoding.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_messages_payload"
path = "examples/manual/sqlx_messages_payload.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_messages_rows"
path = "examples/manual/sqlx_messages_rows.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox"
path = "examples/manual/sqlx_outbox.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_errors"
path = "examples/manual/sqlx_outbox_errors.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_interplay"
path = "examples/manual/sqlx_outbox_interplay.rs"
required-features = [
"outbox",
"inbox",
"sqlite",
"chrono",
"json",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_pool"
path = "examples/manual/sqlx_outbox_pool.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_record"
path = "examples/manual/sqlx_outbox_record.rs"
required-features = [
"outbox",
"sqlite",
"json",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_registry"
path = "examples/manual/sqlx_outbox_registry.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_republish"
path = "examples/manual/sqlx_outbox_republish.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_statements"
path = "examples/manual/sqlx_outbox_statements.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_switch"
path = "examples/manual/sqlx_outbox_switch.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_tracking"
path = "examples/manual/sqlx_outbox_tracking.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_outbox_wrap"
path = "examples/manual/sqlx_outbox_wrap.rs"
required-features = [
"outbox",
"sqlite",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_publishing_repository"
path = "examples/manual/sqlx_publishing_repository.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_publishing_route"
path = "examples/manual/sqlx_publishing_route.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_settlement_dead_letter"
path = "examples/manual/sqlx_settlement_dead_letter.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_settlement_outcomes"
path = "examples/manual/sqlx_settlement_outcomes.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_settlement_retry_after"
path = "examples/manual/sqlx_settlement_retry_after.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_batches"
path = "examples/manual/sqlx_subscriptions_batches.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_fifo"
path = "examples/manual/sqlx_subscriptions_fifo.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_names"
path = "examples/manual/sqlx_subscriptions_names.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_poll"
path = "examples/manual/sqlx_subscriptions_poll.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_queue"
path = "examples/manual/sqlx_subscriptions_queue.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_threads"
path = "examples/manual/sqlx_subscriptions_threads.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_subscriptions_workers"
path = "examples/manual/sqlx_subscriptions_workers.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_tables_columns"
path = "examples/manual/sqlx_tables_columns.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_tables_events"
path = "examples/manual/sqlx_tables_events.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_tables_inbox"
path = "examples/manual/sqlx_tables_inbox.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_tables_insert"
path = "examples/manual/sqlx_tables_insert.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_tables_roles"
path = "examples/manual/sqlx_tables_roles.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_tables_spec"
path = "examples/manual/sqlx_tables_spec.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_testing"
path = "examples/manual/sqlx_testing.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_testing_live"
path = "examples/manual/sqlx_testing_live.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_time"
path = "examples/manual/sqlx_time.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_time_clock"
path = "examples/manual/sqlx_time_clock.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_time_database"
path = "examples/manual/sqlx_time_database.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_time_types"
path = "examples/manual/sqlx_time_types.rs"
required-features = [
"inbox",
"sqlite",
"time",
"testing",
]
[[example]]
name = "manual_sqlx_transactions"
path = "examples/manual/sqlx_transactions.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_transactions_isolation"
path = "examples/manual/sqlx_transactions_isolation.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "manual_sqlx_wake"
path = "examples/manual/sqlx_wake.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "manual_sqlx_wake_notify"
path = "examples/manual/sqlx_wake_notify.rs"
required-features = [
"inbox",
"postgres",
"chrono",
"testing",
"asyncapi",
]
[[example]]
name = "outbox"
path = "examples/outbox.rs"
required-features = [
"outbox",
"postgres",
]
[[example]]
name = "sqlx_asyncapi"
path = "examples/sqlx_asyncapi.rs"
required-features = [
"inbox",
"postgres",
"asyncapi",
"testing",
]
[[example]]
name = "sqlx_broker"
path = "examples/sqlx_broker.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_broker_connections"
path = "examples/sqlx_broker_connections.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_broker_errors"
path = "examples/sqlx_broker_errors.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_broker_prelude"
path = "examples/sqlx_broker_prelude.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_broker_shutdown"
path = "examples/sqlx_broker_shutdown.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_broker_startup"
path = "examples/sqlx_broker_startup.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_context"
path = "examples/sqlx_context.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_context_attempt"
path = "examples/sqlx_context_attempt.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_context_pool"
path = "examples/sqlx_context_pool.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_databases"
path = "examples/sqlx_databases.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_databases_any"
path = "examples/sqlx_databases_any.rs"
required-features = [
"inbox",
"any",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_databases_dialect"
path = "examples/sqlx_databases_dialect.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_databases_mysql"
path = "examples/sqlx_databases_mysql.rs"
required-features = [
"inbox",
"mysql",
"chrono",
"testing",
]
[[example]]
name = "sqlx_databases_postgres"
path = "examples/sqlx_databases_postgres.rs"
required-features = [
"inbox",
"postgres",
"testing",
]
[[example]]
name = "sqlx_databases_sqlite"
path = "examples/sqlx_databases_sqlite.rs"
required-features = [
"inbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_forms_advisory"
path = "examples/sqlx_forms_advisory.rs"
required-features = [
"inbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_forms_lease"
path = "examples/sqlx_forms_lease.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_forms_lock"
path = "examples/sqlx_forms_lock.rs"
required-features = [
"inbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_forms_row_lock"
path = "examples/sqlx_forms_row_lock.rs"
required-features = [
"inbox",
"postgres",
"testing",
]
[[example]]
name = "sqlx_headers"
path = "examples/sqlx_headers.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"json",
"testing",
]
[[example]]
name = "sqlx_headers_column"
path = "examples/sqlx_headers_column.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_headers_fetch"
path = "examples/sqlx_headers_fetch.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"json",
"testing",
]
[[example]]
name = "sqlx_headers_field"
path = "examples/sqlx_headers_field.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_headers_layout"
path = "examples/sqlx_headers_layout.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_messages_decoding"
path = "examples/sqlx_messages_decoding.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_messages_payload"
path = "examples/sqlx_messages_payload.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_messages_rows"
path = "examples/sqlx_messages_rows.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_outbox"
path = "examples/sqlx_outbox.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_errors"
path = "examples/sqlx_outbox_errors.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_interplay"
path = "examples/sqlx_outbox_interplay.rs"
required-features = [
"outbox",
"inbox",
"sqlite",
"chrono",
"json",
"testing",
]
[[example]]
name = "sqlx_outbox_pool"
path = "examples/sqlx_outbox_pool.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_record"
path = "examples/sqlx_outbox_record.rs"
required-features = [
"outbox",
"sqlite",
"json",
"testing",
]
[[example]]
name = "sqlx_outbox_registry"
path = "examples/sqlx_outbox_registry.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_republish"
path = "examples/sqlx_outbox_republish.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_statements"
path = "examples/sqlx_outbox_statements.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_switch"
path = "examples/sqlx_outbox_switch.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_tracking"
path = "examples/sqlx_outbox_tracking.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_outbox_wrap"
path = "examples/sqlx_outbox_wrap.rs"
required-features = [
"outbox",
"sqlite",
"testing",
]
[[example]]
name = "sqlx_publishing_repository"
path = "examples/sqlx_publishing_repository.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_publishing_route"
path = "examples/sqlx_publishing_route.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_settlement_dead_letter"
path = "examples/sqlx_settlement_dead_letter.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_settlement_outcomes"
path = "examples/sqlx_settlement_outcomes.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_settlement_retry_after"
path = "examples/sqlx_settlement_retry_after.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_batches"
path = "examples/sqlx_subscriptions_batches.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_fifo"
path = "examples/sqlx_subscriptions_fifo.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_names"
path = "examples/sqlx_subscriptions_names.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_poll"
path = "examples/sqlx_subscriptions_poll.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_queue"
path = "examples/sqlx_subscriptions_queue.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_threads"
path = "examples/sqlx_subscriptions_threads.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_subscriptions_workers"
path = "examples/sqlx_subscriptions_workers.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_tables_checked"
path = "examples/sqlx_tables_checked.rs"
required-features = [
"inbox",
"postgres",
"testing",
]
[[example]]
name = "sqlx_tables_columns"
path = "examples/sqlx_tables_columns.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_tables_events"
path = "examples/sqlx_tables_events.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_tables_inbox"
path = "examples/sqlx_tables_inbox.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_tables_insert"
path = "examples/sqlx_tables_insert.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_tables_roles"
path = "examples/sqlx_tables_roles.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_tables_spec"
path = "examples/sqlx_tables_spec.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_testing"
path = "examples/sqlx_testing.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_testing_live"
path = "examples/sqlx_testing_live.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_time"
path = "examples/sqlx_time.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_time_clock"
path = "examples/sqlx_time_clock.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_time_database"
path = "examples/sqlx_time_database.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_time_types"
path = "examples/sqlx_time_types.rs"
required-features = [
"inbox",
"sqlite",
"time",
"testing",
]
[[example]]
name = "sqlx_transactions"
path = "examples/sqlx_transactions.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_transactions_isolation"
path = "examples/sqlx_transactions_isolation.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_wake"
path = "examples/sqlx_wake.rs"
required-features = [
"inbox",
"sqlite",
"chrono",
"testing",
]
[[example]]
name = "sqlx_wake_notify"
path = "examples/sqlx_wake_notify.rs"
required-features = [
"inbox",
"postgres",
"chrono",
"testing",
]
[[test]]
name = "forms"
path = "tests/suite_forms.rs"
[[test]]
name = "rows"
path = "tests/suite_rows.rs"
[[test]]
name = "delivery"
path = "tests/suite_delivery.rs"
[[test]]
name = "retries"
path = "tests/suite_retries.rs"
[[test]]
name = "names"
path = "tests/suite_names.rs"
[[test]]
name = "conformance"
path = "tests/suite_conformance.rs"
[[test]]
name = "threads"
path = "tests/suite_threads.rs"
[[test]]
name = "ui"
path = "tests/ui.rs"
[[test]]
name = "examples"
path = "tests/examples.rs"
[[test]]
name = "allocations"
path = "tests/allocations.rs"
[dependencies.chrono]
version = "0.4.39"
features = [
"clock",
"std",
]
optional = true
default-features = false
[dependencies.foldhash]
version = "0.2"
optional = true
default-features = false
[dependencies.futures]
version = "0.3.31"
features = [
"std",
"async-await",
]
optional = true
default-features = false
[dependencies.ruststream]
version = "0.7.5"
optional = true
default-features = false
[dependencies.ruststream-sqlx-dialect]
version = "=0.7.1"
[dependencies.ruststream-sqlx-macros]
version = "=0.7.1"
optional = true
[dependencies.serde]
version = "1.0.217"
features = [
"std",
"derive",
]
optional = true
default-features = false
[dependencies.sqlx]
version = "0.9"
features = ["runtime-tokio"]
optional = true
default-features = false
[dependencies.sqlx-core]
version = "0.9"
optional = true
default-features = false
[dependencies.stackfuture]
version = "0.3.1"
optional = true
[dependencies.sync_wrapper]
version = "1"
optional = true
[dependencies.thiserror]
version = "2"
optional = true
[dependencies.time]
version = "0.3.36"
features = [
"std",
"formatting",
]
optional = true
default-features = false
[dependencies.tokio]
version = "1.49"
features = [
"rt",
"time",
"sync",
"macros",
]
optional = true
default-features = false
[dependencies.tokio-util]
version = "0.7.10"
optional = true
default-features = false
[dependencies.tracing]
version = "0.1.41"
features = ["std"]
optional = true
default-features = false
[dev-dependencies.chrono]
version = "0.4.39"
features = [
"clock",
"std",
]
default-features = false
[dev-dependencies.dhat]
version = "0.3.3"
[dev-dependencies.futures]
version = "0.3.31"
features = [
"std",
"async-await",
"executor",
]
default-features = false
[dev-dependencies.ruststream]
version = "0.7.5"
features = [
"macros",
"json",
"memory",
"testing",
"conformance",
]
default-features = false
[dev-dependencies.serde]
version = "1.0.217"
features = [
"std",
"derive",
]
default-features = false
[dev-dependencies.serde_json]
version = "1.0.135"
[dev-dependencies.sqlx]
version = "0.9"
features = [
"runtime-tokio",
"postgres",
"mysql",
"sqlite",
"chrono",
"json",
"derive",
"macros",
"sqlx-toml",
]
default-features = false
[dev-dependencies.tokio]
version = "1.52"
features = [
"rt-multi-thread",
"macros",
"time",
"sync",
"net",
"io-util",
]
default-features = false
[dev-dependencies.trybuild]
version = "1.0.121"
[lints.clippy]
missing_const_for_fn = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
redundant_pub_crate = "allow"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "deny"
priority = -1
[lints.clippy.suspicious]
level = "deny"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "deny"
unreachable_pub = "deny"
unsafe_op_in_unsafe_fn = "deny"
unused_qualifications = "warn"