#[non_exhaustive]pub enum WireType {
Show 14 variants
Bool,
Int,
Real,
Text,
Bytes,
Uuid,
Decimal,
Timestamp,
TimestampTz,
Date,
Time,
Interval,
Json,
Jsonb,
}Expand description
Semantic column type used to select a decoder, independent of any wire source’s native type identity.
The schema side declares one of these per column (via
WireColumnTypes) and
TypeMap dispatches on it. This replaces the older
per-source native key (Oid for pg_walstream, type-name strings for
wal2json and maxwell): a single catalog carrying semantic types now
drives every source without a per-source translation table.
The set covers every decoder the crate ships. Json and Jsonb
stay distinct so a downstream that treats them differently can
register different decoders. Decoder policy variants (for example
UuidText36Decoder versus
UuidBlob16Decoder, or
JsonVerbatimDecoder versus
JsonCanonicalDecoder) are chosen at
registration under the one semantic key, not by adding more keys.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Bool
Boolean.
Int
Signed integer fitting in i64.
Real
Floating-point.
Text
UTF-8 text.
Bytes
Raw bytes.
Uuid
UUID.
Decimal
Arbitrary-precision decimal / numeric.
Timestamp
Timestamp without time zone.
TimestampTz
Timestamp with time zone.
Date
Calendar date.
Time
Time of day.
Interval
Interval / duration.
Json
JSON.
Jsonb
Binary JSON (jsonb).
Trait Implementations§
impl Copy for WireType
impl Eq for WireType
impl StructuralPartialEq for WireType
Auto Trait Implementations§
impl Freeze for WireType
impl RefUnwindSafe for WireType
impl Send for WireType
impl Sync for WireType
impl Unpin for WireType
impl UnsafeUnpin for WireType
impl UnwindSafe for WireType
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.