pub struct PoolConnection<DB>where
DB: Database,{ /* private fields */ }
Available on crate feature
sqlx
only.Expand description
A connection managed by a Pool
.
Will be returned to the pool on-drop.
Implementations§
Source§impl<DB> PoolConnection<DB>where
DB: Database,
impl<DB> PoolConnection<DB>where
DB: Database,
Sourcepub fn detach(self) -> <DB as Database>::Connection
pub fn detach(self) -> <DB as Database>::Connection
Detach this connection from the pool, allowing it to open a replacement.
Note that if your application uses a single shared pool, this
effectively lets the application exceed the max_connections
setting.
If min_connections
is nonzero, a task will be spawned to replace this connection.
If you want the pool to treat this connection as permanently checked-out,
use .leak()
instead.
Sourcepub fn leak(self) -> <DB as Database>::Connection
pub fn leak(self) -> <DB as Database>::Connection
Detach this connection from the pool, treating it as permanently checked-out.
This effectively will reduce the maximum capacity of the pool by 1 every time it is used.
If you don’t want to impact the pool’s capacity, use .detach()
instead.
Trait Implementations§
Source§impl<'c, DB> Acquire<'c> for &'c mut PoolConnection<DB>where
DB: Database,
impl<'c, DB> Acquire<'c> for &'c mut PoolConnection<DB>where
DB: Database,
type Database = DB
type Connection = &'c mut <DB as Database>::Connection
fn acquire( self, ) -> Pin<Box<dyn Future<Output = Result<<&'c mut PoolConnection<DB> as Acquire<'c>>::Connection, Error>> + Send + 'c>>
fn begin( self, ) -> Pin<Box<dyn Future<Output = Result<Transaction<'c, DB>, Error>> + Send + 'c>>
Source§impl<DB> AsMut<<DB as Database>::Connection> for PoolConnection<DB>where
DB: Database,
impl<DB> AsMut<<DB as Database>::Connection> for PoolConnection<DB>where
DB: Database,
Source§fn as_mut(&mut self) -> &mut <DB as Database>::Connection
fn as_mut(&mut self) -> &mut <DB as Database>::Connection
Converts this type into a mutable reference of the (usually inferred) input type.
Source§impl<DB> AsRef<<DB as Database>::Connection> for PoolConnection<DB>where
DB: Database,
impl<DB> AsRef<<DB as Database>::Connection> for PoolConnection<DB>where
DB: Database,
Source§fn as_ref(&self) -> &<DB as Database>::Connection
fn as_ref(&self) -> &<DB as Database>::Connection
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<DB> Debug for PoolConnection<DB>where
DB: Database,
impl<DB> Debug for PoolConnection<DB>where
DB: Database,
Source§impl<DB> Deref for PoolConnection<DB>where
DB: Database,
impl<DB> Deref for PoolConnection<DB>where
DB: Database,
Source§impl<DB> DerefMut for PoolConnection<DB>where
DB: Database,
impl<DB> DerefMut for PoolConnection<DB>where
DB: Database,
Source§impl<DB> Drop for PoolConnection<DB>where
DB: Database,
Returns the connection to the Pool
it was checked-out from.
impl<DB> Drop for PoolConnection<DB>where
DB: Database,
Returns the connection to the Pool
it was checked-out from.
Source§impl<'c, DB> From<PoolConnection<DB>> for MaybePoolConnection<'c, DB>where
DB: Database,
impl<'c, DB> From<PoolConnection<DB>> for MaybePoolConnection<'c, DB>where
DB: Database,
Source§fn from(v: PoolConnection<DB>) -> MaybePoolConnection<'c, DB>
fn from(v: PoolConnection<DB>) -> MaybePoolConnection<'c, DB>
Converts to this type from the input type.
Auto Trait Implementations§
impl<DB> Freeze for PoolConnection<DB>
impl<DB> !RefUnwindSafe for PoolConnection<DB>
impl<DB> Send for PoolConnection<DB>
impl<DB> Sync for PoolConnection<DB>
impl<DB> Unpin for PoolConnection<DB>
impl<DB> !UnwindSafe for PoolConnection<DB>
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request