Struct diesel::r2d2::PooledConnection
source · pub struct PooledConnection<M>where
M: ManageConnection,{ /* private fields */ }
Available on crate feature
r2d2
only.Expand description
A smart pointer wrapping a connection.
Implementations§
source§impl<M> PooledConnection<M>where
M: ManageConnection,
impl<M> PooledConnection<M>where M: ManageConnection,
sourcepub fn extensions(this: &PooledConnection<M>) -> &Extensions
pub fn extensions(this: &PooledConnection<M>) -> &Extensions
Returns a shared reference to the extensions associated with this connection.
sourcepub fn extensions_mut(this: &mut PooledConnection<M>) -> &mut Extensions
pub fn extensions_mut(this: &mut PooledConnection<M>) -> &mut Extensions
Returns a mutable reference to the extensions associated with this connection.
Trait Implementations§
source§impl<M> Connection for PooledConnection<M>where
M: ManageConnection,
M::Connection: Connection + R2D2Connection + Send + 'static,
impl<M> Connection for PooledConnection<M>where M: ManageConnection, M::Connection: Connection + R2D2Connection + Send + 'static,
§type Backend = <<M as ManageConnection>::Connection as Connection>::Backend
type Backend = <<M as ManageConnection>::Connection as Connection>::Backend
The backend this type connects to
§type TransactionManager = PoolTransactionManager<<<M as ManageConnection>::Connection as Connection>::TransactionManager>
type TransactionManager = PoolTransactionManager<<<M as ManageConnection>::Connection as Connection>::TransactionManager>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.The transaction manager implementation used by this connection
source§fn establish(_: &str) -> ConnectionResult<Self>
fn establish(_: &str) -> ConnectionResult<Self>
Establishes a new connection to the database Read more
source§fn execute_returning_count<T>(&mut self, source: &T) -> QueryResult<usize>where
T: QueryFragment<Self::Backend> + QueryId,
fn execute_returning_count<T>(&mut self, source: &T) -> QueryResult<usize>where T: QueryFragment<Self::Backend> + QueryId,
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.Execute a single SQL statements given by a query and return
number of affected rows
source§fn transaction_state(
&mut self
) -> &mut <Self::TransactionManager as TransactionManager<Self>>::TransactionStateData
fn transaction_state( &mut self ) -> &mut <Self::TransactionManager as TransactionManager<Self>>::TransactionStateData
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.Get access to the current transaction state of this connection Read more
source§fn begin_test_transaction(&mut self) -> QueryResult<()>
fn begin_test_transaction(&mut self) -> QueryResult<()>
Creates a transaction that will never be committed. This is useful for
tests. Panics if called while inside of a transaction or
if called with a connection containing a broken transaction
source§impl<'conn, 'query, DB, M, B> ConnectionGatWorkaround<'conn, 'query, DB, B> for PooledConnection<M>where
M: ManageConnection,
M::Connection: Connection<Backend = DB> + ConnectionGatWorkaround<'conn, 'query, DB, B>,
DB: Backend,
impl<'conn, 'query, DB, M, B> ConnectionGatWorkaround<'conn, 'query, DB, B> for PooledConnection<M>where M: ManageConnection, M::Connection: Connection<Backend = DB> + ConnectionGatWorkaround<'conn, 'query, DB, B>, DB: Backend,
§type Cursor = <<M as ManageConnection>::Connection as ConnectionGatWorkaround<'conn, 'query, DB, B>>::Cursor
type Cursor = <<M as ManageConnection>::Connection as ConnectionGatWorkaround<'conn, 'query, DB, B>>::Cursor
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.The cursor type returned by
LoadConnection::load
Read more§type Row = <<M as ManageConnection>::Connection as ConnectionGatWorkaround<'conn, 'query, DB, B>>::Row
type Row = <<M as ManageConnection>::Connection as ConnectionGatWorkaround<'conn, 'query, DB, B>>::Row
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.The row type used as
Iterator::Item
for the iterator implementation
of ConnectionGatWorkaround::Cursor
source§impl<M> Debug for PooledConnection<M>where
M: ManageConnection,
<M as ManageConnection>::Connection: Debug,
impl<M> Debug for PooledConnection<M>where M: ManageConnection, <M as ManageConnection>::Connection: Debug,
source§impl<M> Deref for PooledConnection<M>where
M: ManageConnection,
impl<M> Deref for PooledConnection<M>where M: ManageConnection,
§type Target = <M as ManageConnection>::Connection
type Target = <M as ManageConnection>::Connection
The resulting type after dereferencing.
source§fn deref(&self) -> &<M as ManageConnection>::Connection
fn deref(&self) -> &<M as ManageConnection>::Connection
Dereferences the value.
source§impl<M> DerefMut for PooledConnection<M>where
M: ManageConnection,
impl<M> DerefMut for PooledConnection<M>where M: ManageConnection,
source§fn deref_mut(&mut self) -> &mut <M as ManageConnection>::Connection
fn deref_mut(&mut self) -> &mut <M as ManageConnection>::Connection
Mutably dereferences the value.
source§impl<M> Drop for PooledConnection<M>where
M: ManageConnection,
impl<M> Drop for PooledConnection<M>where M: ManageConnection,
source§impl<B, M> LoadConnection<B> for PooledConnection<M>where
M: ManageConnection,
M::Connection: LoadConnection<B> + R2D2Connection,
impl<B, M> LoadConnection<B> for PooledConnection<M>where M: ManageConnection, M::Connection: LoadConnection<B> + R2D2Connection,
source§fn load<'conn, 'query, T>(
&'conn mut self,
source: T
) -> QueryResult<LoadRowIter<'conn, 'query, Self, Self::Backend, B>>where
T: Query + QueryFragment<Self::Backend> + QueryId + 'query,
Self::Backend: QueryMetadata<T::SqlType>,
fn load<'conn, 'query, T>( &'conn mut self, source: T ) -> QueryResult<LoadRowIter<'conn, 'query, Self, Self::Backend, B>>where T: Query + QueryFragment<Self::Backend> + QueryId + 'query, Self::Backend: QueryMetadata<T::SqlType>,
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.Executes a given query and returns any requested values Read more
source§impl<M> MigrationConnection for PooledConnection<M>where
M: ManageConnection,
M::Connection: MigrationConnection,
Self: Connection,
impl<M> MigrationConnection for PooledConnection<M>where M: ManageConnection, M::Connection: MigrationConnection, Self: Connection,
source§impl<M> SimpleConnection for PooledConnection<M>where
M: ManageConnection,
M::Connection: R2D2Connection + Send + 'static,
impl<M> SimpleConnection for PooledConnection<M>where M: ManageConnection, M::Connection: R2D2Connection + Send + 'static,
source§fn batch_execute(&mut self, query: &str) -> QueryResult<()>
fn batch_execute(&mut self, query: &str) -> QueryResult<()>
Execute multiple SQL statements within the same string. Read more
source§impl<Changes, Output, M> UpdateAndFetchResults<Changes, Output> for PooledConnection<M>where
M: ManageConnection,
M::Connection: UpdateAndFetchResults<Changes, Output>,
Self: Connection,
impl<Changes, Output, M> UpdateAndFetchResults<Changes, Output> for PooledConnection<M>where M: ManageConnection, M::Connection: UpdateAndFetchResults<Changes, Output>, Self: Connection,
source§fn update_and_fetch(&mut self, changeset: Changes) -> QueryResult<Output>
fn update_and_fetch(&mut self, changeset: Changes) -> QueryResult<Output>
See the traits documentation.
Auto Trait Implementations§
impl<M> !RefUnwindSafe for PooledConnection<M>
impl<M> Send for PooledConnection<M>
impl<M> Sync for PooledConnection<M>where <M as ManageConnection>::Connection: Sync,
impl<M> Unpin for PooledConnection<M>where <M as ManageConnection>::Connection: Unpin,
impl<M> !UnwindSafe for PooledConnection<M>
Blanket Implementations§
source§impl<C> BoxableConnection<<C as Connection>::Backend> for Cwhere
C: Connection + Any,
impl<C> BoxableConnection<<C as Connection>::Backend> for Cwhere C: Connection + Any,
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