Trait aries_askar::backend::QueryBackend
source ·
[−]pub trait QueryBackend: Send {
fn count<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
tag_filter: Option<TagFilter>
) -> BoxFuture<'q, Result<i64, Error>>;
fn fetch<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
name: &'q str,
for_update: bool
) -> BoxFuture<'q, Result<Option<Entry>, Error>>;
fn fetch_all<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
tag_filter: Option<TagFilter>,
limit: Option<i64>,
for_update: bool
) -> BoxFuture<'q, Result<Vec<Entry>, Error>>;
fn remove_all<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
tag_filter: Option<TagFilter>
) -> BoxFuture<'q, Result<i64, Error>>;
fn update<'q>(
&'q mut self,
kind: EntryKind,
operation: EntryOperation,
category: &'q str,
name: &'q str,
value: Option<&'q [u8]>,
tags: Option<&'q [EntryTag]>,
expiry_ms: Option<i64>
) -> BoxFuture<'q, Result<(), Error>>;
fn close(self, commit: bool) -> BoxFuture<'static, Result<(), Error>>;
}
Expand description
Query from a generic backend implementation
Required methods
Count the number of matching records in the store
Fetch a single record from the store by category and name
Fetch all matching records from the store
Remove all matching records from the store
Insert or replace a record in the store