use ruststream_sqlx::dialect::{Column, KeyPart};
use ruststream_sqlx::spec::{Advisory, own};
use ruststream_sqlx::{InboxSpec, InboxTable};
const KEY: &[KeyPart<'static>] = &[KeyPart::Literal("orders-"), KeyPart::Column("id")];
struct LockedOnly {
id: i64,
}
impl InboxTable for LockedOnly {
type Id = i64;
type Table = InboxSpec<(Advisory, own::Lock)>;
const TABLE: Self::Table = InboxSpec::new("orders", Column::new("id"))
.advisory(KEY)
.own::<own::Lock>();
fn id(&self) -> &i64 {
&self.id
}
}
struct LockedRows {
id: i64,
}
impl InboxTable for LockedRows {
type Id = i64;
type Table = InboxSpec<(own::Lock, own::Unlock)>;
const TABLE: Self::Table = InboxSpec::new("orders", Column::new("id"))
.own::<own::Lock>()
.own::<own::Unlock>();
fn id(&self) -> &i64 {
&self.id
}
}
fn main() {}