pub trait QueryTransaction: MultiVersionQueryTransaction {
type SingleVersionQuery<'a>: SingleVersionQueryTransaction
where Self: 'a;
type CdcQuery<'a>: CdcQueryTransaction
where Self: 'a;
// Required methods
fn begin_single_query<'a, I>(
&self,
keys: I,
) -> Result<Self::SingleVersionQuery<'_>>
where I: IntoIterator<Item = &'a EncodedKey>;
fn begin_cdc_query(&self) -> Result<Self::CdcQuery<'_>>;
// Provided methods
fn with_single_query<'a, I, F, R>(&self, keys: I, f: F) -> Result<R>
where I: IntoIterator<Item = &'a EncodedKey>,
F: FnOnce(&mut Self::SingleVersionQuery<'_>) -> Result<R> { ... }
fn with_cdc_query<F, R>(&self, f: F) -> Result<R>
where F: FnOnce(&mut Self::CdcQuery<'_>) -> Result<R> { ... }
}Required Associated Types§
type SingleVersionQuery<'a>: SingleVersionQueryTransaction where Self: 'a
type CdcQuery<'a>: CdcQueryTransaction where Self: 'a
Required Methods§
fn begin_single_query<'a, I>(
&self,
keys: I,
) -> Result<Self::SingleVersionQuery<'_>>where
I: IntoIterator<Item = &'a EncodedKey>,
fn begin_cdc_query(&self) -> Result<Self::CdcQuery<'_>>
Provided Methods§
fn with_single_query<'a, I, F, R>(&self, keys: I, f: F) -> Result<R>where
I: IntoIterator<Item = &'a EncodedKey>,
F: FnOnce(&mut Self::SingleVersionQuery<'_>) -> Result<R>,
fn with_cdc_query<F, R>(&self, f: F) -> Result<R>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.