Struct PooledConnection

Source
pub struct PooledConnection<T: Driver, A: ConnectionAdapter<T>> { /* private fields */ }

Implementations§

Source§

impl<T: Driver> PooledConnection<T, SyncConnectionAdapter<T>>

Source

pub fn read_transaction_closure<F, R, E>(&mut self, closure: F) -> Result<R, E>
where F: FnOnce(&mut ReadTransaction<'_, T>) -> Result<R, E>, E: From<T::Error>,

Perform a read operation with a stable scope.

This method uses an explicit transaction to ensure the reader does not take into account ongoing modifications of writers during the execution of the statements in the scope of the closure.

Use [Self::read] if you want to have the default sqlite behavior, where each statement gets their own transaction.

§Errors

Returns error if the closure failed or if the read transaction could not be initiated.

Source

pub fn transaction_closure<F, R, E>(&mut self, closure: F) -> Result<R, E>
where F: FnOnce(&mut Transaction<'_, T>) -> Result<R, E>, E: From<T::Error>,

Create a transaction and run the given closure in its scope.

If the closure returns an error the transaction is aborted, otherwise it is commited.

§Errors

Returns error if the closure failed or the transaction failed to commit.

Source

pub fn transaction(&mut self) -> Result<Transaction<'_, T>, T::Error>

Create a new transaction type that needs to be manually commited.

If the transaction is dropped without an explicit call to Transaction::rollback or Transaction::commit, the transaction will be rolled back.

§Errors

Returns an error if the transaction could not be created.

Source

pub fn read_transaction(&mut self) -> Result<ReadTransaction<'_, T>, T::Error>

Create a new read transaction type that needs to be manually commited.

If the transaction is dropped without an explicit call to ReadTransaction::commit, the transaction will be rolled back.

§Errors

Returns an error if the transaction could not be created.

Trait Implementations§

Source§

impl<T: Driver> Deref for PooledConnection<T, SyncConnectionAdapter<T>>

Source§

type Target = <T as Driver>::Connection

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl<T: DriverMutConnectionDeref> DerefMut for PooledConnection<T, SyncConnectionAdapter<T>>

Source§

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

Mutably dereferences the value.
Source§

impl<T: Driver, A: ConnectionAdapter<T>> Drop for PooledConnection<T, A>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T, A> Freeze for PooledConnection<T, A>
where A: Freeze,

§

impl<T, A> !RefUnwindSafe for PooledConnection<T, A>

§

impl<T, A> Send for PooledConnection<T, A>
where A: Send, <T as Driver>::Connection: Send,

§

impl<T, A> Sync for PooledConnection<T, A>
where A: Sync + Send, <T as Driver>::Connection: Send,

§

impl<T, A> Unpin for PooledConnection<T, A>
where A: Unpin,

§

impl<T, A> !UnwindSafe for PooledConnection<T, A>

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<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