pub enum Value {
Show 21 variants
Null,
Bool(bool),
Int64(i64),
Float64(f64),
Str(String),
Bytes(Vec<u8>),
Uuid(Uuid),
Decimal(String),
Duration {
months: i32,
days: i32,
microseconds: i64,
},
Date(i32),
Time(i64),
Timestamp(i64),
Timestamptz(i64),
Range(Box<Range>),
Array(Vec<Value>),
Tuple(Vec<Value>),
Object(Object),
Enum {
type_name: String,
value: String,
},
Group(Box<Group>),
VectorSearch {
object: Box<Value>,
distance: f64,
},
FtsSearch {
object: Box<Value>,
score: f64,
},
}Expand description
A decoded query result value. One variant per ShapeNode/DecodedValue
kind decode.rs knows how to produce — see that module for the walk
that builds these.
Variants§
Null
Bool(bool)
Int64(i64)
Float64(f64)
Str(String)
Bytes(Vec<u8>)
Uuid(Uuid)
Decimal(String)
Arbitrary-precision decimal, in its canonical string form — matches
pylon_value::DecodedValue::Decimal’s own representation, since
there’s no single obviously-correct native Rust decimal type to
commit this generic client to.
Duration
A PostgreSQL interval (std::duration / cal::relative_duration)
— kept as its three raw wire components, same reasoning as
DecodedValue::Interval.
Date(i32)
Whole days since the PG epoch (2000-01-01). Backs cal::local_date.
Time(i64)
Microseconds since midnight. Backs cal::local_time.
Timestamp(i64)
Microseconds since the PG epoch, no timezone. Backs cal::local_datetime.
Timestamptz(i64)
Microseconds since the PG epoch, UTC. Backs std::datetime.
Range(Box<Range>)
Array(Vec<Value>)
A genuine Postgres array.
Tuple(Vec<Value>)
An anonymous positional tuple (tuple<...> with no member names).
Object(Object)
A schema object or a free/named-tuple object — see Object.
Enum
An enum value, hydrated to its qualified type name + variant label
rather than a generated Rust enum (there’s no per-schema-type codegen
on this client, matching the generic-Object design as a whole).
Group(Box<Group>)
Result of a group statement.
VectorSearch
Result of a vector::search statement.
FtsSearch
Result of an fts::search statement.
Trait Implementations§
Source§impl Queryable for Value
Decoding Value into itself — lets query::<Value, _>(...) (the
untyped path every caller used before Queryable existed) go through
the same generic method as a derived row struct.
impl Queryable for Value
Decoding Value into itself — lets query::<Value, _>(...) (the
untyped path every caller used before Queryable existed) go through
the same generic method as a derived row struct.
impl StructuralPartialEq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnsafeUnpin for Value
impl UnwindSafe for Value
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.