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]: a table sets this setting twice: `Set<ruststream_sqlx::spec::Lease<DateTime<Utc>>>` and `Set<ruststream_sqlx::spec::Advisory>`
  --> tests/ui/manual_twice.rs:15:18
   |
15 |     type Table = InboxSpec<(Lease<DateTime<Utc>>, Advisory)>;
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ set twice
   |
   = note: a table sets each setting once: drop one of the two setter calls on its `InboxSpec` or `OutboxSpec`, and the marker from `type Table`
help: the trait `Merge<Set<ruststream_sqlx::spec::Advisory>>` is not implemented for `Set<ruststream_sqlx::spec::Lease<DateTime<Utc>>>`
      but trait `Merge<Unset>` is implemented for it
  --> src/settings.rs
   |
   | impl<Value> Merge<Unset> for Set<Value> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Unset`, found `Set<ruststream_sqlx::spec::Advisory>`
   = note: required for `(ruststream_sqlx::spec::Lease<DateTime<Utc>>, ruststream_sqlx::spec::Advisory)` to implement `ruststream_sqlx::spec::Declaration`
   = note: required for `InboxSpec<(ruststream_sqlx::spec::Lease<DateTime<Utc>>, ruststream_sqlx::spec::Advisory)>` to implement `Valid`
note: required by a bound in `ruststream_sqlx::InboxTable::Table`
  --> src/inbox/spec/builder.rs
   |
   |     type Table: Valid;
   |                 ^^^^^ required by this bound in `InboxTable::Table`

error[E0277]: a table sets this setting twice: `Set<ruststream_sqlx::spec::Attempt>` and `Set<ruststream_sqlx::spec::Attempt>`
  --> tests/ui/manual_twice.rs:32:18
   |
32 |     type Table = InboxSpec<(Attempt, Payload, Attempt)>;
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ set twice
   |
   = note: a table sets each setting once: drop one of the two setter calls on its `InboxSpec` or `OutboxSpec`, and the marker from `type Table`
help: the trait `Merge<Set<ruststream_sqlx::spec::Attempt>>` is not implemented for `Set<ruststream_sqlx::spec::Attempt>`
      but trait `Merge<Unset>` is implemented for it
  --> src/settings.rs
   |
   | impl<Value> Merge<Unset> for Set<Value> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Unset`, found `Set<ruststream_sqlx::spec::Attempt>`
   = note: required for `(ruststream_sqlx::spec::Attempt, ruststream_sqlx::spec::Payload, ruststream_sqlx::spec::Attempt)` to implement `ruststream_sqlx::spec::Declaration`
   = note: required for `InboxSpec<(ruststream_sqlx::spec::Attempt, ruststream_sqlx::spec::Payload, ruststream_sqlx::spec::Attempt)>` to implement `Valid`
note: required by a bound in `ruststream_sqlx::InboxTable::Table`
  --> src/inbox/spec/builder.rs
   |
   |     type Table: Valid;
   |                 ^^^^^ required by this bound in `InboxTable::Table`

error[E0277]: a table sets this setting twice: `Set<ruststream_sqlx::spec::own::Ack>` and `Set<ruststream_sqlx::spec::own::Ack>`
  --> tests/ui/manual_twice.rs:50:18
   |
50 |     type Table = InboxSpec<(own::Ack, own::Ack)>;
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ set twice
   |
   = note: a table sets each setting once: drop one of the two setter calls on its `InboxSpec` or `OutboxSpec`, and the marker from `type Table`
help: the trait `Merge<Set<ruststream_sqlx::spec::own::Ack>>` is not implemented for `Set<ruststream_sqlx::spec::own::Ack>`
      but trait `Merge<Unset>` is implemented for it
  --> src/settings.rs
   |
   | impl<Value> Merge<Unset> for Set<Value> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Unset`, found `Set<ruststream_sqlx::spec::own::Ack>`
   = note: required for `(ruststream_sqlx::spec::own::Ack, ruststream_sqlx::spec::own::Ack)` to implement `ruststream_sqlx::spec::Declaration`
   = note: required for `InboxSpec<(ruststream_sqlx::spec::own::Ack, ruststream_sqlx::spec::own::Ack)>` to implement `Valid`
note: required by a bound in `ruststream_sqlx::InboxTable::Table`
  --> src/inbox/spec/builder.rs
   |
   |     type Table: Valid;
   |                 ^^^^^ required by this bound in `InboxTable::Table`

error[E0277]: a table sets this setting twice: `Set<ruststream_sqlx::spec::Lease<_>>` and `Set<ruststream_sqlx::spec::Advisory>`
  --> tests/ui/manual_twice.rs:18:10
   |
18 |         .advisory(KEY);
   |          ^^^^^^^^ set twice
   |
   = note: a table sets each setting once: drop one of the two setter calls on its `InboxSpec` or `OutboxSpec`, and the marker from `type Table`
help: the trait `Merge<Set<ruststream_sqlx::spec::Advisory>>` is not implemented for `Set<ruststream_sqlx::spec::Lease<_>>`
      but trait `Merge<Unset>` is implemented for it
  --> src/settings.rs
   |
   | impl<Value> Merge<Unset> for Set<Value> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Unset`, found `Set<ruststream_sqlx::spec::Advisory>`
   = note: required for `(ruststream_sqlx::spec::Lease<_>, ruststream_sqlx::spec::Advisory)` to implement `ruststream_sqlx::spec::Declaration`
note: required by a bound in `InboxSpec::<Settings>::advisory`
  --> src/inbox/spec/builder.rs
   |
   |     pub const fn advisory(
   |                  -------- required by a bound in this associated function
...
   |         <Settings as Push<Advisory>>::Out: Declaration,
   |                                            ^^^^^^^^^^^ required by this bound in `InboxSpec::<Settings>::advisory`

error[E0277]: a table sets this setting twice: `Set<ruststream_sqlx::spec::Attempt>` and `Set<ruststream_sqlx::spec::Attempt>`
  --> tests/ui/manual_twice.rs:36:10
   |
36 |         .attempt(Column::new("tries"));
   |          ^^^^^^^ set twice
   |
   = note: a table sets each setting once: drop one of the two setter calls on its `InboxSpec` or `OutboxSpec`, and the marker from `type Table`
help: the trait `Merge<Set<ruststream_sqlx::spec::Attempt>>` is not implemented for `Set<ruststream_sqlx::spec::Attempt>`
      but trait `Merge<Unset>` is implemented for it
  --> src/settings.rs
   |
   | impl<Value> Merge<Unset> for Set<Value> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Unset`, found `Set<ruststream_sqlx::spec::Attempt>`
   = note: required for `(ruststream_sqlx::spec::Attempt, ruststream_sqlx::spec::Payload, ruststream_sqlx::spec::Attempt)` to implement `ruststream_sqlx::spec::Declaration`
note: required by a bound in `InboxSpec::<Settings>::attempt`
  --> src/inbox/spec/builder.rs
   |
   |     pub const fn attempt(
   |                  ------- required by a bound in this associated function
...
   |         <Settings as Push<Attempt>>::Out: Declaration,
   |                                           ^^^^^^^^^^^ required by this bound in `InboxSpec::<Settings>::attempt`

error[E0277]: a table sets this setting twice: `Set<ruststream_sqlx::spec::own::Ack>` and `Set<ruststream_sqlx::spec::own::Ack>`
  --> tests/ui/manual_twice.rs:53:10
   |
53 |         .own::<own::Ack>();
   |          ^^^ set twice
   |
   = note: a table sets each setting once: drop one of the two setter calls on its `InboxSpec` or `OutboxSpec`, and the marker from `type Table`
help: the trait `Merge<Set<ruststream_sqlx::spec::own::Ack>>` is not implemented for `Set<ruststream_sqlx::spec::own::Ack>`
      but trait `Merge<Unset>` is implemented for it
  --> src/settings.rs
   |
   | impl<Value> Merge<Unset> for Set<Value> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Unset`, found `Set<ruststream_sqlx::spec::own::Ack>`
   = note: required for `(ruststream_sqlx::spec::own::Ack, ruststream_sqlx::spec::own::Ack)` to implement `ruststream_sqlx::spec::Declaration`
note: required by a bound in `InboxSpec::<Settings>::own`
  --> src/inbox/spec/builder.rs
   |
   |     pub const fn own<Event: OwnEvent>(self) -> InboxSpec<<Settings as Push<Event>>::Out>
   |                  --- required by a bound in this associated function
...
   |         <Settings as Push<Event>>::Out: Declaration,
   |                                         ^^^^^^^^^^^ required by this bound in `InboxSpec::<Settings>::own`