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]: the `BuiltIn<sqlx::Sqlite>` dialect builds no row lock claim, so a table on it cannot take its rows by row lock
  --> tests/ui/sqlite_row_lock.rs:14:47
   |
14 |     let _ = InboxQueue::<Locked>::new("jobs").subscribe(connected).await;
   |                                               ^^^^^^^^^ a table without `locked_until` or `advisory_lock` takes its rows by row lock
   |
   = help: the trait `ruststream_sqlx::ruststream_sqlx_dialect::RowLock` is not implemented for `BuiltIn<sqlx::Sqlite>`
   = note: declare `#[field(locked_until)]` (the lease form) or `#[inbox(advisory_lock = "..")]` (the advisory lock form) on the struct
   = note: a dialect of the service's own serves the row lock form by implementing `RowLock`, where its database locks rows
help: the following other types implement trait `ruststream_sqlx::ruststream_sqlx_dialect::RowLock`
  --> src/inbox/database/built_in.rs
   |
   | impl RowLock for BuiltIn<Postgres> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::Postgres>`
...
   | impl RowLock for BuiltIn<MySql> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::MySql>`
...
   | impl RowLock for BuiltIn<Any> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::Any>`
   = note: required for `ruststream_sqlx::__private::RowLockForm` to implement `ruststream_sqlx::__private::FormOn<BuiltIn<sqlx::Sqlite>>`
   = note: required for `InboxQueue<Locked>` to implement `SubscriptionSource<ConnectedSqlxBroker<sqlx::Sqlite>>`

error[E0277]: the `BuiltIn<sqlx::Sqlite>` dialect builds no row lock claim, so a table on it cannot take its rows by row lock
  --> tests/ui/sqlite_row_lock.rs:14:13
   |
14 |     let _ = InboxQueue::<Locked>::new("jobs").subscribe(connected).await;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ a table without `locked_until` or `advisory_lock` takes its rows by row lock
   |
   = help: the trait `ruststream_sqlx::ruststream_sqlx_dialect::RowLock` is not implemented for `BuiltIn<sqlx::Sqlite>`
   = note: declare `#[field(locked_until)]` (the lease form) or `#[inbox(advisory_lock = "..")]` (the advisory lock form) on the struct
   = note: a dialect of the service's own serves the row lock form by implementing `RowLock`, where its database locks rows
help: the following other types implement trait `ruststream_sqlx::ruststream_sqlx_dialect::RowLock`
  --> src/inbox/database/built_in.rs
   |
   | impl RowLock for BuiltIn<Postgres> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::Postgres>`
...
   | impl RowLock for BuiltIn<MySql> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::MySql>`
...
   | impl RowLock for BuiltIn<Any> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::Any>`
   = note: required for `ruststream_sqlx::__private::RowLockForm` to implement `ruststream_sqlx::__private::FormOn<BuiltIn<sqlx::Sqlite>>`
note: required by a bound in `<InboxQueue<Row, Mode> as SubscriptionSource<ConnectedSqlxBroker<DB, D>>>`
  --> src/inbox/queue.rs
   |
   |     Row::Form: FormOn<D>,
   |                ^^^^^^^^^ required by this bound in `<InboxQueue<Row, Mode> as SubscriptionSource<ConnectedSqlxBroker<DB, D>>>`

error[E0277]: the `BuiltIn<sqlx::Sqlite>` dialect builds no row lock claim, so a table on it cannot take its rows by row lock
  --> tests/ui/sqlite_row_lock.rs:14:68
   |
14 |     let _ = InboxQueue::<Locked>::new("jobs").subscribe(connected).await;
   |                                                                    ^^^^^ a table without `locked_until` or `advisory_lock` takes its rows by row lock
   |
   = help: the trait `ruststream_sqlx::ruststream_sqlx_dialect::RowLock` is not implemented for `BuiltIn<sqlx::Sqlite>`
   = note: declare `#[field(locked_until)]` (the lease form) or `#[inbox(advisory_lock = "..")]` (the advisory lock form) on the struct
   = note: a dialect of the service's own serves the row lock form by implementing `RowLock`, where its database locks rows
help: the following other types implement trait `ruststream_sqlx::ruststream_sqlx_dialect::RowLock`
  --> src/inbox/database/built_in.rs
   |
   | impl RowLock for BuiltIn<Postgres> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::Postgres>`
...
   | impl RowLock for BuiltIn<MySql> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::MySql>`
...
   | impl RowLock for BuiltIn<Any> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BuiltIn<sqlx::Any>`
   = note: required for `ruststream_sqlx::__private::RowLockForm` to implement `ruststream_sqlx::__private::FormOn<BuiltIn<sqlx::Sqlite>>`
note: required by a bound in `<InboxQueue<Row, Mode> as SubscriptionSource<ConnectedSqlxBroker<DB, D>>>`
  --> src/inbox/queue.rs
   |
   |     Row::Form: FormOn<D>,
   |                ^^^^^^^^^ required by this bound in `<InboxQueue<Row, Mode> as SubscriptionSource<ConnectedSqlxBroker<DB, D>>>`