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>
impl<M> Connection for PooledConnection<M>
Source§type Backend = <<M as ManageConnection>::Connection as Connection>::Backend
type Backend = <<M as ManageConnection>::Connection as Connection>::Backend
The backend this type connects to
Source§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 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§fn execute_returning_count<T>(&mut self, source: &T) -> QueryResult<usize>
fn execute_returning_count<T>(&mut self, source: &T) -> QueryResult<usize>
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 instrumentation(&mut self) -> &mut dyn Instrumentation
fn instrumentation(&mut self) -> &mut dyn Instrumentation
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes
only.Get the instrumentation instance stored in this connection
Source§fn set_instrumentation(&mut self, instrumentation: impl Instrumentation)
fn set_instrumentation(&mut self, instrumentation: impl Instrumentation)
Set a specific
Instrumentation
implementation for this connectionSource§fn set_prepared_statement_cache_size(&mut self, size: CacheSize)
fn set_prepared_statement_cache_size(&mut self, size: CacheSize)
Set the prepared statement cache size to
CacheSize
for this connectionSource§fn transaction<T, E, F>(&mut self, f: F) -> Result<T, E>
fn transaction<T, E, F>(&mut self, f: F) -> Result<T, E>
Executes the given function inside of a database transaction Read more
Source§impl<M> Debug for PooledConnection<M>
impl<M> Debug for PooledConnection<M>
Source§impl<M> Deref for PooledConnection<M>where
M: ManageConnection,
impl<M> Deref for PooledConnection<M>where
M: ManageConnection,
Source§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<T, A, C> ExecuteCopyFromDsl<PooledConnection<ConnectionManager<C>>> for CopyFromQuery<T, A>where
A: CopyFromExpression<T>,
C: R2D2Connection<Backend = Pg> + 'static,
Self: ExecuteCopyFromDsl<C>,
Available on crate feature postgres_backend
only.
impl<T, A, C> ExecuteCopyFromDsl<PooledConnection<ConnectionManager<C>>> for CopyFromQuery<T, A>where
A: CopyFromExpression<T>,
C: R2D2Connection<Backend = Pg> + 'static,
Self: ExecuteCopyFromDsl<C>,
Available on crate feature
postgres_backend
only.Source§type Error = <CopyFromQuery<T, A> as ExecuteCopyFromDsl<C>>::Error
type Error = <CopyFromQuery<T, A> as ExecuteCopyFromDsl<C>>::Error
The error type returned by the execute function
Source§fn execute(
self,
conn: &mut PooledConnection<ConnectionManager<C>>,
) -> Result<usize, Self::Error>
fn execute( self, conn: &mut PooledConnection<ConnectionManager<C>>, ) -> Result<usize, Self::Error>
See the trait documentation for details
Source§impl<B, M> LoadConnection<B> for PooledConnection<M>
impl<B, M> LoadConnection<B> for PooledConnection<M>
Source§type Cursor<'conn, 'query> = <<M as ManageConnection>::Connection as LoadConnection<B>>::Cursor<'conn, 'query>
type Cursor<'conn, 'query> = <<M as ManageConnection>::Connection as LoadConnection<B>>::Cursor<'conn, 'query>
The cursor type returned by
LoadConnection::load
Read moreSource§type Row<'conn, 'query> = <<M as ManageConnection>::Connection as LoadConnection<B>>::Row<'conn, 'query>
type Row<'conn, 'query> = <<M as ManageConnection>::Connection as LoadConnection<B>>::Row<'conn, 'query>
The row type used as
Iterator::Item
for the iterator implementation
of LoadConnection::Cursor
Source§fn load<'conn, 'query, T>(
&'conn mut self,
source: T,
) -> QueryResult<Self::Cursor<'conn, 'query>>where
T: Query + QueryFragment<Self::Backend> + QueryId + 'query,
Self::Backend: QueryMetadata<T::SqlType>,
fn load<'conn, 'query, T>(
&'conn mut self,
source: T,
) -> QueryResult<Self::Cursor<'conn, 'query>>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>
impl<M> MigrationConnection for PooledConnection<M>
Source§impl<M> SimpleConnection for PooledConnection<M>
impl<M> SimpleConnection for PooledConnection<M>
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>
impl<Changes, Output, M> UpdateAndFetchResults<Changes, Output> for PooledConnection<M>
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.
impl<M> ConnectionSealed for PooledConnection<M>
Auto Trait Implementations§
impl<M> Freeze for PooledConnection<M>
impl<M> !RefUnwindSafe for PooledConnection<M>
impl<M> Send for PooledConnection<M>
impl<M> Sync for PooledConnection<M>
impl<M> Unpin for PooledConnection<M>
impl<M> !UnwindSafe for PooledConnection<M>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.