ruststream-sqlx 0.7.0

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.
Documentation
error[E0277]: `Unlocked` runs its own `lock` (`custom(lock)` in `#[inbox(..)]`, or `own::Lock` in its `InboxSpec`) and does not implement `Lock<sqlx::Postgres>`
  --> tests/ui/own_lock.rs:37:16
   |
37 |     subscribes(InboxQueue::<Unlocked>::new("jobs"));
   |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the service's own lock is missing
   |     |
   |     required by a bound introduced by this call
   |
help: the trait `ruststream_sqlx::Lock<sqlx::Postgres>` is not implemented for `Unlocked`
  --> tests/ui/own_lock.rs:13:1
   |
13 | struct Unlocked {
   | ^^^^^^^^^^^^^^^
   = note: implement `Lock<sqlx::Postgres>` for `Unlocked`, or drop `lock` from `custom(..)` (by hand: `.own::<own::Lock>()` and `own::Lock` in `type Table`)
help: the trait `ruststream_sqlx::Lock<sqlx::Postgres>` is implemented for `HalfLocked`
  --> tests/ui/own_lock.rs:30:1
   |
30 | impl Lock<Postgres> for HalfLocked {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: required for `Set<ruststream_sqlx::spec::own::Lock>` to implement `ruststream_sqlx::__private::LockAxis<sqlx::Postgres, Unlocked>`
   = note: required for `Unlocked` to implement `ruststream_sqlx::__private::Events<sqlx::Postgres>`
   = note: required for `InboxQueue<Unlocked>` to implement `SubscriptionSource<ConnectedSqlxBroker<sqlx::Postgres>>`
note: required by a bound in `subscribes`
  --> tests/ui/own_lock.rs:6:23
   |
 6 | fn subscribes<Source: SubscriptionSource<Connected<SqlxBroker<Postgres>>>>(source: Source) {
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `subscribes`

error[E0277]: `Unlocked` runs its own `unlock` (`custom(unlock)` in `#[inbox(..)]`, or `own::Unlock` in its `InboxSpec`) and does not implement `Unlock<sqlx::Postgres>`
  --> tests/ui/own_lock.rs:37:16
   |
37 |     subscribes(InboxQueue::<Unlocked>::new("jobs"));
   |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the service's own unlock is missing
   |     |
   |     required by a bound introduced by this call
   |
help: the trait `ruststream_sqlx::Unlock<sqlx::Postgres>` is not implemented for `Unlocked`
  --> tests/ui/own_lock.rs:13:1
   |
13 | struct Unlocked {
   | ^^^^^^^^^^^^^^^
   = note: implement `Unlock<sqlx::Postgres>` for `Unlocked`, or drop `unlock` from `custom(..)` (by hand: `.own::<own::Unlock>()` and `own::Unlock` in `type Table`)
help: the trait `SubscriptionSource<ConnectedSqlxBroker<DB, D>>` is conditionally implemented for `InboxQueue<Row, Mode>`
  --> src/inbox/queue.rs
   |
   | / impl<DB, D, Row, Mode> SubscriptionSource<ConnectedSqlxBroker<DB, D>> for InboxQueue<Row, Mode>
   | | where
   | |     DB: QueueDatabase,
   | |     D: Dialect + Opens<Row::Opening> + 'static,
   | |     Row: InboxRow + Events<DB>,
   | |                     ----------
   | |                     |
   | |                     unsatisfied requirement introduced here: `Unlocked: ruststream_sqlx::__private::Events<sqlx::Postgres>`
   | |                     unsatisfied requirement introduced here: `Unlocked: ruststream_sqlx::__private::Events<sqlx::Postgres>`
   | |     Row::Form: FormOn<D>,
   | |     Mode: InboxMode,
   | |____________________^
   = note: required for `Set<ruststream_sqlx::spec::own::Unlock>` to implement `ruststream_sqlx::__private::UnlockAxis<sqlx::Postgres, Unlocked>`
   = note: required for `Unlocked` to implement `ruststream_sqlx::__private::Events<sqlx::Postgres>`
   = note: required for `InboxQueue<Unlocked>` to implement `SubscriptionSource<ConnectedSqlxBroker<sqlx::Postgres>>`
note: required by a bound in `subscribes`
  --> tests/ui/own_lock.rs:6:23
   |
 6 | fn subscribes<Source: SubscriptionSource<Connected<SqlxBroker<Postgres>>>>(source: Source) {
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `subscribes`

error[E0277]: `HalfLocked` runs its own `unlock` (`custom(unlock)` in `#[inbox(..)]`, or `own::Unlock` in its `InboxSpec`) and does not implement `Unlock<sqlx::Postgres>`
  --> tests/ui/own_lock.rs:38:16
   |
38 |     subscribes(InboxQueue::<HalfLocked>::new("jobs"));
   |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the service's own unlock is missing
   |     |
   |     required by a bound introduced by this call
   |
help: the trait `ruststream_sqlx::Unlock<sqlx::Postgres>` is not implemented for `HalfLocked`
  --> tests/ui/own_lock.rs:23:1
   |
23 | struct HalfLocked {
   | ^^^^^^^^^^^^^^^^^
   = note: implement `Unlock<sqlx::Postgres>` for `HalfLocked`, or drop `unlock` from `custom(..)` (by hand: `.own::<own::Unlock>()` and `own::Unlock` in `type Table`)
help: the trait `SubscriptionSource<ConnectedSqlxBroker<DB, D>>` is conditionally implemented for `InboxQueue<Row, Mode>`
  --> src/inbox/queue.rs
   |
   | / impl<DB, D, Row, Mode> SubscriptionSource<ConnectedSqlxBroker<DB, D>> for InboxQueue<Row, Mode>
   | | where
   | |     DB: QueueDatabase,
   | |     D: Dialect + Opens<Row::Opening> + 'static,
   | |     Row: InboxRow + Events<DB>,
   | |                     ---------- unsatisfied requirement introduced here: `HalfLocked: ruststream_sqlx::__private::Events<sqlx::Postgres>`
   | |     Row::Form: FormOn<D>,
   | |     Mode: InboxMode,
   | |____________________^
   = note: required for `Set<ruststream_sqlx::spec::own::Unlock>` to implement `ruststream_sqlx::__private::UnlockAxis<sqlx::Postgres, HalfLocked>`
   = note: required for `HalfLocked` to implement `ruststream_sqlx::__private::Events<sqlx::Postgres>`
   = note: required for `InboxQueue<HalfLocked>` to implement `SubscriptionSource<ConnectedSqlxBroker<sqlx::Postgres>>`
note: required by a bound in `subscribes`
  --> tests/ui/own_lock.rs:6:23
   |
 6 | fn subscribes<Source: SubscriptionSource<Connected<SqlxBroker<Postgres>>>>(source: Source) {
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `subscribes`