Skip to main content

PgBinary

Struct PgBinary 

Source
pub struct PgBinary;
Expand description

A value read back from an executed Postgres query in binary result format, tagged with the catalog’s semantic type for the column.

Unlike the CDC sources, the semantic type is not recoverable from the raw bytes (binary int4 and float4 are both four opaque bytes), so the payload carries the WireType explicitly, supplied by the caller from its catalog. This makes decoder dispatch deterministic and makes the caller choose the type the same way CDC does, which is what guarantees representation parity with the CDC paths.

Trait Implementations§

Source§

impl Clone for PgBinary

Source§

fn clone(&self) -> PgBinary

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for PgBinary

Source§

impl Debug for PgBinary

Source§

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

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

impl<S, B> Decoder<PgBinary, S, B> for NullDecoder

Source§

fn decode( &self, _payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for BoolDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for IntDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for RealDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for TextDecoder
where S: From<String>,

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for PgByteaBinaryDecoder
where B: From<Vec<u8>>,

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for UuidBlob16Decoder
where B: From<Vec<u8>>,

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for DecimalTextDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for TimestampVerbatimDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for TimestampTzVerbatimDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for DateVerbatimDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for TimeVerbatimDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for IntervalVerbatimDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl<S, B> Decoder<PgBinary, S, B> for JsonVerbatimDecoder

Source§

fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>

Decode one payload. Read more
Source§

impl Default for PgBinary

Source§

fn default() -> PgBinary

Returns the “default value” for a type. Read more
Source§

impl<S, B> TypeMapDefaults<S, B> for PgBinary
where S: From<String>, B: From<Vec<u8>>,

Source§

fn defaults() -> TypeMap<Self, S, B>

Registry pre-populated with every default mapping for this source.
Source§

impl WireSource for PgBinary

Source§

type Payload<'a> = PgBinaryColumn<'a>

Per-column payload the format hands to a decoder. Read more
Source§

fn wire_type(payload: &Self::Payload<'_>) -> WireType

Semantic type of the column carried by the payload, used for decoder dispatch.
Source§

fn column_name<'a>(payload: &'a Self::Payload<'_>) -> &'a str

Extract the column name from a payload for diagnostic messages.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.