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§
impl Copy for PgBinary
Source§impl<S, B> Decoder<PgBinary, S, B> for NullDecoder
impl<S, B> Decoder<PgBinary, S, B> for NullDecoder
Source§fn decode(
&self,
_payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for BoolDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for IntDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for RealDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for TextDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for PgByteaBinaryDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for UuidBlob16Decoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for DecimalTextDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for TimestampVerbatimDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for TimestampTzVerbatimDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for DateVerbatimDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for TimeVerbatimDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for IntervalVerbatimDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
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
impl<S, B> Decoder<PgBinary, S, B> for JsonVerbatimDecoder
Source§fn decode(
&self,
payload: PgBinaryColumn<'_>,
) -> Result<Value<S, B>, DecodeError>
fn decode( &self, payload: PgBinaryColumn<'_>, ) -> Result<Value<S, B>, DecodeError>
Decode one payload. Read more
Source§impl<S, B> TypeMapDefaults<S, B> for PgBinary
impl<S, B> TypeMapDefaults<S, B> for PgBinary
Source§impl WireSource for PgBinary
impl WireSource for PgBinary
Source§type Payload<'a> = PgBinaryColumn<'a>
type Payload<'a> = PgBinaryColumn<'a>
Per-column payload the format hands to a decoder. Read more
Source§fn wire_type(payload: &Self::Payload<'_>) -> WireType
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
fn column_name<'a>(payload: &'a Self::Payload<'_>) -> &'a str
Extract the column name from a payload for diagnostic messages.
Auto Trait Implementations§
impl Freeze for PgBinary
impl RefUnwindSafe for PgBinary
impl Send for PgBinary
impl Sync for PgBinary
impl Unpin for PgBinary
impl UnsafeUnpin for PgBinary
impl UnwindSafe for PgBinary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more