Struct PoolConnection  
pub struct PoolConnection<DB>where
    DB: Database,{
    live: Option<Live<DB>>,
    close_on_drop: bool,
    pub(crate) pool: Arc<PoolInner<DB>>,
}Expand description
A connection managed by a Pool.
Will be returned to the pool on-drop.
Fields§
§live: Option<Live<DB>>§close_on_drop: bool§pool: Arc<PoolInner<DB>>Implementations§
§impl<DB> PoolConnection<DB>where
    DB: Database,
 
impl<DB> PoolConnection<DB>where
    DB: Database,
pub fn close_on_drop(&mut self)
pub fn close_on_drop(&mut self)
Close this connection on-drop, instead of returning it to the pool.
May be used in cases where waiting for the .close() call
to complete is unacceptable, but you still want the connection to be closed gracefully
so that the server can clean up resources.
pub 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.
pub 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§
§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>>
§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,
§fn as_mut(&mut self) -> &mut <DB as Database>::Connection
 
fn as_mut(&mut self) -> &mut <DB as Database>::Connection
§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,
§fn as_ref(&self) -> &<DB as Database>::Connection
 
fn as_ref(&self) -> &<DB as Database>::Connection
§impl<DB> Debug for PoolConnection<DB>where
    DB: Database,
 
impl<DB> Debug for PoolConnection<DB>where
    DB: Database,
§impl<DB> Deref for PoolConnection<DB>where
    DB: Database,
 
impl<DB> Deref for PoolConnection<DB>where
    DB: Database,
§type Target = <DB as Database>::Connection
 
type Target = <DB as Database>::Connection
§fn deref(&self) -> &<PoolConnection<DB> as Deref>::Target
 
fn deref(&self) -> &<PoolConnection<DB> as Deref>::Target
§impl<DB> DerefMut for PoolConnection<DB>where
    DB: Database,
 
impl<DB> DerefMut for PoolConnection<DB>where
    DB: Database,
§fn deref_mut(&mut self) -> &mut <PoolConnection<DB> as Deref>::Target
 
fn deref_mut(&mut self) -> &mut <PoolConnection<DB> as Deref>::Target
§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.
§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,
§fn from(v: PoolConnection<DB>) -> MaybePoolConnection<'c, DB>
 
fn from(v: PoolConnection<DB>) -> MaybePoolConnection<'c, DB>
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
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§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> ⓘ
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> ⓘ
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<R> Rng for R
 
impl<R> Rng for R
Source§fn random<T>(&mut self) -> Twhere
    StandardUniform: Distribution<T>,
 
fn random<T>(&mut self) -> Twhere
    StandardUniform: Distribution<T>,
StandardUniform distribution. Read moreSource§fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
 
fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
Source§fn random_range<T, R>(&mut self, range: R) -> Twhere
    T: SampleUniform,
    R: SampleRange<T>,
 
fn random_range<T, R>(&mut self, range: R) -> Twhere
    T: SampleUniform,
    R: SampleRange<T>,
Source§fn random_bool(&mut self, p: f64) -> bool
 
fn random_bool(&mut self, p: f64) -> bool
p of being true. Read moreSource§fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
 
fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
numerator/denominator of being
true. Read moreSource§fn sample<T, D>(&mut self, distr: D) -> Twhere
    D: Distribution<T>,
 
fn sample<T, D>(&mut self, distr: D) -> Twhere
    D: Distribution<T>,
Source§fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
    D: Distribution<T>,
    Self: Sized,
 
fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
    D: Distribution<T>,
    Self: Sized,
Source§fn gen<T>(&mut self) -> Twhere
    StandardUniform: Distribution<T>,
 
fn gen<T>(&mut self) -> Twhere
    StandardUniform: Distribution<T>,
random to avoid conflict with the new gen keyword in Rust 2024.Rng::random.Source§fn gen_range<T, R>(&mut self, range: R) -> Twhere
    T: SampleUniform,
    R: SampleRange<T>,
 
fn gen_range<T, R>(&mut self, range: R) -> Twhere
    T: SampleUniform,
    R: SampleRange<T>,
random_rangeRng::random_range.Source§impl<T> ToHex for T
 
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
    U: FromIterator<char>,
 
fn encode_hex<U>(&self) -> Uwhere
    U: FromIterator<char>,
self into the result. Lower case
letters are used (e.g. f9b4ca)Source§fn encode_hex_upper<U>(&self) -> Uwhere
    U: FromIterator<char>,
 
fn encode_hex_upper<U>(&self) -> Uwhere
    U: FromIterator<char>,
self into the result. Upper case
letters are used (e.g. F9B4CA)Source§impl<R> TryRngCore for Rwhere
    R: RngCore,
 
impl<R> TryRngCore for Rwhere
    R: RngCore,
Source§type Error = Infallible
 
type Error = Infallible
Source§fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
 
fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
u32.Source§fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
 
fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
u64.Source§fn try_fill_bytes(
    &mut self,
    dst: &mut [u8],
) -> Result<(), <R as TryRngCore>::Error>
 
fn try_fill_bytes( &mut self, dst: &mut [u8], ) -> Result<(), <R as TryRngCore>::Error>
dest entirely with random data.Source§fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>where
    Self: Sized,
 
fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>where
    Self: Sized,
RngCore to a RngReadAdapter.