Skip to main content

WirePoolable

Struct WirePoolable 

Source
pub struct WirePoolable(pub WireConn);
Expand description

Newtype wrapper around pg_wired::WireConn that implements Poolable.

Tuple Fields§

§0: WireConn

Methods from Deref<Target = WireConn>§

Source

pub fn pid(&self) -> i32

Backend process ID assigned by the server. Useful for logging and for building a cancel token. The secret key that pairs with this PID is intentionally not exposed; use cancel_token() to obtain a token that can send a cancel request.

Source

pub fn auth_mechanism(&self) -> &'static str

Authentication mechanism the server selected during startup.

Returns one of "trust", "cleartext", "md5", "SCRAM-SHA-256", or "SCRAM-SHA-256-PLUS". "SCRAM-SHA-256-PLUS" confirms that tls-server-end-point channel binding was negotiated.

Source

pub fn has_pending_data(&self) -> bool

Check if the connection has unconsumed data in the receive buffer.

Source

pub async fn send_raw(&mut self, buf: &[u8]) -> Result<(), PgWireError>

Send a raw buffer to the server (one write syscall).

Source

pub async fn recv_msg(&mut self) -> Result<BackendMsg, PgWireError>

Read one complete backend message from the connection. Uses an internal buffer to minimize read() syscalls.

Source

pub async fn collect_rows( &mut self, ) -> Result<(Vec<RawRow>, String), PgWireError>

Receive messages until ReadyForQuery, collecting DataRows. Returns (rows, command_tag).

Source

pub async fn describe_statement( &mut self, sql: &str, ) -> Result<(Vec<u32>, Vec<FieldDescription>), PgWireError>

Describe a SQL statement: sends Parse + Describe Statement + Sync, returns (parameter type OIDs, column field descriptions). Used by compile-time query checking macros.

Source

pub async fn drain_until_ready(&mut self) -> Result<(), PgWireError>

Drain messages until ReadyForQuery (error recovery). Also attempts to parse any remaining data in the receive buffer before declaring the connection closed.

Trait Implementations§

Source§

impl Deref for WirePoolable

Source§

type Target = WireConn

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl DerefMut for WirePoolable

Source§

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

Mutably dereferences the value.
Source§

impl Poolable for WirePoolable

Source§

type Error = PgWireError

The error type for connection operations.
Source§

async fn connect( addr: &str, user: &str, password: &str, database: &str, ) -> Result<Self, Self::Error>

Create a new connection to the database.
Source§

fn has_pending_data(&self) -> bool

Check if the connection has unconsumed data (is in a corrupted state).
Source§

fn reset(&self) -> impl Future<Output = bool> + Send

Reset the connection to a clean state before returning to the pool. Implementations should send DISCARD ALL or equivalent to clear session state (transactions, SET variables, temp tables, prepared statements). Returns false if the reset failed and the connection should be destroyed. Read more

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

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