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
Fields
dims: Vec<ArrayDimension>
The dimensions of the array.
A variable-length, multi-dimensional array of values.
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 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<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<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
.