sqlx_core::pool

Struct PoolConnection

Source
pub struct PoolConnection<DB: Database> { /* private fields */ }
Expand description

A connection managed by a Pool.

Will be returned to the pool on-drop.

Implementations§

Source§

impl<DB: Database> PoolConnection<DB>

Source

pub async fn close(self) -> Result<(), Error>

Close this connection, allowing the pool to open a replacement.

Equivalent to calling .detach() then .close(), but the connection permit is retained for the duration so that the pool may not exceed max_connections.

Source

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.

Source

pub fn detach(self) -> DB::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.

Source

pub fn leak(self) -> DB::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: Database> Acquire<'c> for &'c mut PoolConnection<DB>

Source§

type Database = DB

Source§

type Connection = &'c mut <DB as Database>::Connection

Source§

fn acquire(self) -> BoxFuture<'c, Result<Self::Connection, Error>>

Source§

fn begin(self) -> BoxFuture<'c, Result<Transaction<'c, DB>, Error>>

Source§

impl<DB: Database> AsMut<<DB as Database>::Connection> for PoolConnection<DB>

Source§

fn as_mut(&mut self) -> &mut DB::Connection

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<DB: Database> AsRef<<DB as Database>::Connection> for PoolConnection<DB>

Source§

fn as_ref(&self) -> &DB::Connection

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<DB: Database> Debug for PoolConnection<DB>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<DB: Database> Deref for PoolConnection<DB>

Source§

type Target = <DB as Database>::Connection

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<DB: Database> DerefMut for PoolConnection<DB>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<DB: Database> Drop for PoolConnection<DB>

Returns the connection to the Pool it was checked-out from.

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<'c, DB: Database> From<PoolConnection<DB>> for MaybePoolConnection<'c, DB>

Source§

fn from(v: PoolConnection<DB>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<DB> Freeze for PoolConnection<DB>
where <DB as Database>::Connection: Freeze,

§

impl<DB> !RefUnwindSafe for PoolConnection<DB>

§

impl<DB> Send for PoolConnection<DB>

§

impl<DB> Sync for PoolConnection<DB>
where <DB as Database>::Connection: Sync,

§

impl<DB> Unpin for PoolConnection<DB>
where <DB as Database>::Connection: Unpin,

§

impl<DB> !UnwindSafe for PoolConnection<DB>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T