pub trait BackendSession: Debug + Send {
// Required methods
fn count<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'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: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
limit: Option<i64>,
order_by: Option<OrderBy>,
descending: bool,
for_update: bool,
) -> BoxFuture<'q, Result<Vec<Entry>, Error>>;
fn remove_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'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 ping(&mut self) -> BoxFuture<'_, Result<(), Error>>;
fn close(&mut self, commit: bool) -> BoxFuture<'_, Result<(), Error>>;
// Provided method
fn import_scan<'q>(
&'q mut self,
scan: Scan<'q, Entry>,
) -> BoxFuture<'q, Result<(), Error>> { ... }
}Expand description
Query from a generic backend implementation
Required Methods§
Sourcefn count<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
) -> BoxFuture<'q, Result<i64, Error>>
fn count<'q>( &'q mut self, kind: Option<EntryKind>, category: Option<&'q str>, tag_filter: Option<TagFilter>, ) -> BoxFuture<'q, Result<i64, Error>>
Count the number of matching records in the store
Sourcefn fetch<'q>(
&'q mut self,
kind: EntryKind,
category: &'q str,
name: &'q str,
for_update: bool,
) -> BoxFuture<'q, Result<Option<Entry>, Error>>
fn fetch<'q>( &'q mut self, kind: EntryKind, category: &'q str, name: &'q str, for_update: bool, ) -> BoxFuture<'q, Result<Option<Entry>, Error>>
Fetch a single record from the store by category and name
Sourcefn fetch_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
limit: Option<i64>,
order_by: Option<OrderBy>,
descending: bool,
for_update: bool,
) -> BoxFuture<'q, Result<Vec<Entry>, Error>>
fn fetch_all<'q>( &'q mut self, kind: Option<EntryKind>, category: Option<&'q str>, tag_filter: Option<TagFilter>, limit: Option<i64>, order_by: Option<OrderBy>, descending: bool, for_update: bool, ) -> BoxFuture<'q, Result<Vec<Entry>, Error>>
Fetch all matching records from the store
Sourcefn remove_all<'q>(
&'q mut self,
kind: Option<EntryKind>,
category: Option<&'q str>,
tag_filter: Option<TagFilter>,
) -> BoxFuture<'q, Result<i64, Error>>
fn remove_all<'q>( &'q mut self, kind: Option<EntryKind>, category: Option<&'q str>, tag_filter: Option<TagFilter>, ) -> BoxFuture<'q, Result<i64, Error>>
Remove all matching records from the store
Provided Methods§
Implementors§
impl BackendSession for AnyBackendSession
Available on crate feature
any only.