Trait askar_storage::backend::BackendSession
source · 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>,
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<'_, 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>,
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>, 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