pub struct PgDedupeStore { /* private fields */ }Implementations§
Source§impl PgDedupeStore
impl PgDedupeStore
pub fn new(pool: PgPool, config: PgDedupeStoreConfig) -> Self
pub async fn connect(pool: PgPool, config: PgDedupeStoreConfig) -> Result<Self>
pub async fn prepare_schema( pool: &PgPool, config: &PgDedupeStoreConfig, ) -> Result<()>
pub fn schema_sql(config: &PgDedupeStoreConfig) -> String
Trait Implementations§
Source§impl Clone for PgDedupeStore
impl Clone for PgDedupeStore
Source§fn clone(&self) -> PgDedupeStore
fn clone(&self) -> PgDedupeStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl DedupeStore for PgDedupeStore
impl DedupeStore for PgDedupeStore
async fn exists(&self, event: &Event) -> Result<bool>
async fn mark_processed(&self, event: &Event) -> Result<()>
Source§async fn mark_if_new(&self, event: &Event) -> Result<bool>
async fn mark_if_new(&self, event: &Event) -> Result<bool>
Atomically marks the event as seen, returning whether it was newly
recorded (
true) or was already present (false). The default
implementation calls exists then mark_processed, which is racy
across concurrent callers. Backends with native atomicity (e.g.,
Postgres INSERT ON CONFLICT DO NOTHING) should override.Auto Trait Implementations§
impl !RefUnwindSafe for PgDedupeStore
impl !UnwindSafe for PgDedupeStore
impl Freeze for PgDedupeStore
impl Send for PgDedupeStore
impl Sync for PgDedupeStore
impl Unpin for PgDedupeStore
impl UnsafeUnpin for PgDedupeStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more