pub enum Value {
Show 33 variants
Array {
dims: Vec<ArrayDimension>,
elements: Vec<Option<Value>>,
},
Bool(bool),
Bytea(Vec<u8>),
Char(u8),
Date(Date),
Float4(f32),
Float8(f64),
Int2(i16),
Int4(i32),
Int8(i64),
UInt2(UInt2),
UInt4(UInt4),
UInt8(UInt8),
Interval(Interval),
Jsonb(Jsonb),
List(Vec<Option<Value>>),
Map(BTreeMap<String, Option<Value>>),
Name(String),
Numeric(Numeric),
Oid(u32),
Record(Vec<Option<Value>>),
Time(NaiveTime),
Timestamp(CheckedTimestamp<NaiveDateTime>),
TimestampTz(CheckedTimestamp<DateTime<Utc>>),
Text(String),
BpChar(String),
VarChar(String),
Uuid(Uuid),
Int2Vector {
elements: Vec<Option<Value>>,
},
MzTimestamp(Timestamp),
Range(Range<Box<Value>>),
MzAclItem(MzAclItem),
AclItem(AclItem),
}
Expand description
A PostgreSQL datum.
Variants§
Array
A variable-length, multi-dimensional array of values.
Fields
dims: Vec<ArrayDimension>
The dimensions of the array.
Bool(bool)
A boolean value.
Bytea(Vec<u8>)
A byte array, i.e., a variable-length binary string.
Char(u8)
A single-byte character.
Date(Date)
A date.
Float4(f32)
A 4-byte floating point number.
Float8(f64)
An 8-byte floating point number.
Int2(i16)
A 2-byte signed integer.
Int4(i32)
A 4-byte signed integer.
Int8(i64)
An 8-byte signed integer.
UInt2(UInt2)
A 2-byte unsigned integer.
UInt4(UInt4)
A 4-byte unsigned integer.
UInt8(UInt8)
An 8-byte unsigned integer.
Interval(Interval)
A time interval.
Jsonb(Jsonb)
A binary JSON blob.
List(Vec<Option<Value>>)
A sequence of homogeneous values.
Map(BTreeMap<String, Option<Value>>)
A map of string keys and homogeneous values.
Name(String)
An identifier string of no more than 64 characters in length.
Numeric(Numeric)
An arbitrary precision number.
Oid(u32)
An object identifier.
Record(Vec<Option<Value>>)
A sequence of heterogeneous values.
Time(NaiveTime)
A time.
Timestamp(CheckedTimestamp<NaiveDateTime>)
A date and time, without a timezone.
TimestampTz(CheckedTimestamp<DateTime<Utc>>)
A date and time, with a timezone.
Text(String)
A variable-length string.
BpChar(String)
A fixed-length string.
VarChar(String)
A variable-length string with an optional limit.
Uuid(Uuid)
A universally unique identifier.
Int2Vector
A small int vector.
MzTimestamp(Timestamp)
A Materialize timestamp.
Range(Range<Box<Value>>)
A contiguous range of values along a domain.
MzAclItem(MzAclItem)
A list of privileges granted to a role, that uses mz_repr::role_id::RoleId
s for role
references.
AclItem(AclItem)
A list of privileges granted to a user that uses mz_repr::adt::system::Oid
s for role
references. This type is used primarily for compatibility with PostgreSQL.
Implementations§
source§impl Value
impl Value
sourcepub fn from_datum(datum: Datum<'_>, typ: &ScalarType) -> Option<Value>
pub fn from_datum(datum: Datum<'_>, typ: &ScalarType) -> Option<Value>
Constructs a new Value
from a Materialize datum.
The conversion happens in the obvious manner, except that Datum::Null
is converted to None
to align with how PostgreSQL handles NULL.
sourcepub fn into_datum<'a>(self, buf: &'a RowArena, typ: &Type) -> Datum<'a>
pub fn into_datum<'a>(self, buf: &'a RowArena, typ: &Type) -> Datum<'a>
Converts a Materialize datum from this value.
sourcepub fn encode(
&self,
ty: &Type,
format: Format,
buf: &mut BytesMut
) -> Result<(), Error>
pub fn encode( &self, ty: &Type, format: Format, buf: &mut BytesMut ) -> Result<(), Error>
Serializes this value to buf
in the specified format
.
sourcepub fn encode_text(&self, buf: &mut BytesMut) -> Nestable
pub fn encode_text(&self, buf: &mut BytesMut) -> Nestable
Serializes this value to buf
using the text encoding
format.
sourcepub fn encode_binary(&self, ty: &Type, buf: &mut BytesMut) -> Result<(), Error>
pub fn encode_binary(&self, ty: &Type, buf: &mut BytesMut) -> Result<(), Error>
Serializes this value to buf
using the binary encoding
format.
sourcepub fn decode(
format: Format,
ty: &Type,
raw: &[u8]
) -> Result<Value, Box<dyn Error + Sync + Send>>
pub fn decode( format: Format, ty: &Type, raw: &[u8] ) -> Result<Value, Box<dyn Error + Sync + Send>>
Deserializes a value of type ty
from raw
using the specified
format
.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
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<R, O, T> CopyOnto<ConsecutiveOffsetPairs<R, O>> for T
impl<R, O, T> CopyOnto<ConsecutiveOffsetPairs<R, O>> for T
source§fn copy_onto(
self,
target: &mut ConsecutiveOffsetPairs<R, O>
) -> <ConsecutiveOffsetPairs<R, O> as Region>::Index
fn copy_onto( self, target: &mut ConsecutiveOffsetPairs<R, O> ) -> <ConsecutiveOffsetPairs<R, O> as Region>::Index
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.