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::RoleIds for role
references.
AclItem(AclItem)
A list of privileges granted to a user that uses mz_repr::adt::system::Oids 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: &SqlScalarType) -> Option<Value>
pub fn from_datum(datum: Datum<'_>, typ: &SqlScalarType) -> 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 can_encode_binary(typ: &SqlScalarType) -> bool
pub fn can_encode_binary(typ: &SqlScalarType) -> bool
Static helper method to pre-validate that a given Datum corresponding to
the provided SqlScalarType can be converted into a Value and then encoded
as binary using encode_binary without an error.
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.
Sourcepub fn decode_text<'a>(
ty: &'a Type,
raw: &'a [u8],
) -> Result<Value, Box<dyn Error + Sync + Send>>
pub fn decode_text<'a>( ty: &'a Type, raw: &'a [u8], ) -> Result<Value, Box<dyn Error + Sync + Send>>
Deserializes a value of type ty from raw using the text encoding
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<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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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::RequestSource§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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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.Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign, for types that do not implement AddAssign.