pub struct QueryDeduplicator { /* private fields */ }Expand description
Query deduplicator that prevents executing identical queries multiple times
Implementations§
Source§impl QueryDeduplicator
impl QueryDeduplicator
Sourcepub async fn execute_deduplicated<F, Fut>(
&self,
query_key: QueryKey,
execute_fn: F,
) -> OrmResult<Vec<JsonValue>>
pub async fn execute_deduplicated<F, Fut>( &self, query_key: QueryKey, execute_fn: F, ) -> OrmResult<Vec<JsonValue>>
Execute a query with deduplication If an identical query is already running, wait for its result instead
Sourcepub async fn stats(&self) -> DeduplicationStats
pub async fn stats(&self) -> DeduplicationStats
Get deduplication statistics
Sourcepub async fn reset_stats(&self)
pub async fn reset_stats(&self)
Reset statistics
Sourcepub async fn has_pending_queries(&self) -> bool
pub async fn has_pending_queries(&self) -> bool
Check if any queries are currently pending
Sourcepub async fn pending_query_count(&self) -> usize
pub async fn pending_query_count(&self) -> usize
Get the number of pending queries
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryDeduplicator
impl !RefUnwindSafe for QueryDeduplicator
impl Send for QueryDeduplicator
impl Sync for QueryDeduplicator
impl Unpin for QueryDeduplicator
impl !UnwindSafe for QueryDeduplicator
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> 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