Skip to main content

PostgresConnection

Struct PostgresConnection 

Source
pub struct PostgresConnection { /* private fields */ }
Expand description

Connection wrapper for Postgres/Tokio Postgres client.

Manages the client handle and background task used to drive the connection and implements Executor for running queries against Postgres.

Trait Implementations§

Source§

impl Connection for PostgresConnection

Source§

async fn connect(url: Cow<'static, str>) -> Result<PostgresConnection>

Create a connection (or pool) with at least one underlying session established to the given URL. Read more
Source§

fn begin(&mut self) -> impl Future<Output = Result<PostgresTransaction<'_>>>

Begin a transaction scope tied to the current connection. Read more
Source§

async fn disconnect(self) -> Result<()>

Disconnect and release the underlying session(s). Read more
Source§

fn sanitize_url(url: Cow<'static, str>) -> Result<Url, Error>
where Self: Sized,

Source§

impl Debug for PostgresConnection

Source§

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

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

impl Executor for PostgresConnection

Source§

type Driver = PostgresDriver

Associated driver.
Source§

async fn do_prepare(&mut self, sql: String) -> Result<Query<Self::Driver>>

Prepare a query for later execution.
Source§

fn run<'s>( &'s mut self, query: impl AsQuery<Self::Driver> + 's, ) -> impl Stream<Item = Result<QueryResult>> + Send

Run a query, streaming QueryResult items.
Source§

fn fetch<'s>( &'s mut self, query: impl AsQuery<Self::Driver> + 's, ) -> impl Stream<Item = Result<RowLabeled>> + Send

Stream only labeled rows (filters non-row results).
Source§

async fn append<'a, E, It>(&mut self, entities: It) -> Result<RowsAffected>
where E: Entity + 'a, It: IntoIterator<Item = &'a E> + Send, <It as IntoIterator>::IntoIter: Send,

Insert many entities efficiently.
Source§

fn accepts_multiple_statements(&self) -> bool

Returns true if the executor accepts multiple SQL statements in a single request (e.g. CREATE; INSERT; SELECT). Defaults to true.
Source§

fn driver(&self) -> Self::Driver
where Self: Sized,

Driver instance. Read more
Source§

fn prepare<'s>( &'s mut self, query: impl AsQuery<Self::Driver> + 's, ) -> impl Future<Output = Result<Query<Self::Driver>, Error>> + Send

Prepare a query for later execution.
Source§

fn execute<'s>( &'s mut self, query: impl AsQuery<Self::Driver> + 's, ) -> impl Future<Output = Result<RowsAffected, Error>> + Send

Execute and aggregate affected rows.

Auto Trait Implementations§

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, 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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V