Struct diesel::connection::statement_cache::StatementCache
source · pub struct StatementCache<DB: Backend, Statement> { /* private fields */ }
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.Expand description
A prepared statement cache
Implementations§
source§impl<DB, Statement> StatementCache<DB, Statement>where
DB: Backend,
DB::TypeMetadata: Clone,
DB::QueryBuilder: Default,
StatementCacheKey<DB>: Hash + Eq,
impl<DB, Statement> StatementCache<DB, Statement>where DB: Backend, DB::TypeMetadata: Clone, DB::QueryBuilder: Default, StatementCacheKey<DB>: Hash + Eq,
sourcepub fn cached_statement<T, F>(
&mut self,
source: &T,
backend: &DB,
bind_types: &[DB::TypeMetadata],
prepare_fn: F
) -> QueryResult<MaybeCached<'_, Statement>>where
T: QueryFragment<DB> + QueryId,
F: FnOnce(&str, PrepareForCache) -> QueryResult<Statement>,
pub fn cached_statement<T, F>( &mut self, source: &T, backend: &DB, bind_types: &[DB::TypeMetadata], prepare_fn: F ) -> QueryResult<MaybeCached<'_, Statement>>where T: QueryFragment<DB> + QueryId, F: FnOnce(&str, PrepareForCache) -> QueryResult<Statement>,
Prepare a query as prepared statement
This functions returns a prepared statement corresponding to the
query passed as source
with the bind values passed as bind_types
.
If the query is already cached inside this prepared statement cache
the cached prepared statement will be returned, otherwise prepare_fn
will be called to create a new prepared statement for this query source.
The first parameter of the callback contains the query string, the second
parameter indicates if the constructed prepared statement will be cached or not.
See the module documentation for details
about which statements are cached and which are not cached.
Auto Trait Implementations§
impl<DB, Statement> RefUnwindSafe for StatementCache<DB, Statement>where Statement: RefUnwindSafe, <DB as TypeMetadata>::TypeMetadata: RefUnwindSafe,
impl<DB, Statement> Send for StatementCache<DB, Statement>where Statement: Send, <DB as TypeMetadata>::TypeMetadata: Send,
impl<DB, Statement> Sync for StatementCache<DB, Statement>where Statement: Sync, <DB as TypeMetadata>::TypeMetadata: Sync,
impl<DB, Statement> Unpin for StatementCache<DB, Statement>where Statement: Unpin, <DB as TypeMetadata>::TypeMetadata: Unpin,
impl<DB, Statement> UnwindSafe for StatementCache<DB, Statement>where Statement: UnwindSafe, <DB as TypeMetadata>::TypeMetadata: UnwindSafe,
Blanket Implementations§
source§impl<T> IntoSql for T
impl<T> IntoSql for T
source§fn into_sql<T>(self) -> AsExprOf<Self, T>where
Self: AsExpression<T> + Sized,
T: SqlType + TypedExpressionType,
fn into_sql<T>(self) -> AsExprOf<Self, T>where Self: AsExpression<T> + Sized, T: SqlType + TypedExpressionType,
Convert
self
to an expression for Diesel’s query builder. Read moresource§fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T>where
&'a Self: AsExpression<T>,
T: SqlType + TypedExpressionType,
fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T>where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,
Convert
&self
to an expression for Diesel’s query builder. Read more