Struct mz_repr::relation::ColumnType
source · pub struct ColumnType {
pub scalar_type: ScalarType,
pub nullable: bool,
}
Expand description
The type of a Datum
.
ColumnType
bundles information about the scalar type of a datum (e.g.,
Int32 or String) with its nullability.
To construct a column type, either initialize the struct directly, or
use the ScalarType::nullable
method.
Fields§
§scalar_type: ScalarType
The underlying scalar type (e.g., Int32 or String) of this column.
nullable: bool
Whether this datum can be null.
Implementations§
source§impl ColumnType
impl ColumnType
source§impl ColumnType
impl ColumnType
sourcepub fn to_persist<R, F: DatumToPersistFn<R>>(&self, f: F) -> Option<R>
pub fn to_persist<R, F: DatumToPersistFn<R>>(&self, f: F) -> Option<R>
Returns the DatumToPersist implementation for this ColumnType.
See DatumToPersist to map Datum
s to/from a persist columnar type.
There is a 1:N correspondence between DatumToPersist impls and
ColumnTypes because a number of ScalarTypes map to the same set of
Datum
s (e.g. String
and VarChar
).
This returns a None if we don’t care to keep stats for this column type (for now). We’ll have to remove this if/when we start actually using the schema’d part encoding.
Trait Implementations§
source§impl Arbitrary for ColumnType
impl Arbitrary for ColumnType
§type Parameters = (<ScalarType as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
type Parameters = (<ScalarType as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<(<ScalarType as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (ScalarType, bool)) -> ColumnType>
type Strategy = Map<(<ScalarType as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (ScalarType, bool)) -> ColumnType>
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for ColumnType
impl Clone for ColumnType
source§fn clone(&self) -> ColumnType
fn clone(&self) -> ColumnType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ColumnType
impl Debug for ColumnType
source§impl<'de> Deserialize<'de> for ColumnType
impl<'de> Deserialize<'de> for ColumnType
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl Display for ColumnType
impl Display for ColumnType
source§impl Hash for ColumnType
impl Hash for ColumnType
source§impl MzReflect for ColumnType
impl MzReflect for ColumnType
source§fn add_to_reflected_type_info(rti: &mut ReflectedTypeInfo)
fn add_to_reflected_type_info(rti: &mut ReflectedTypeInfo)
rti
. Read moresource§impl Ord for ColumnType
impl Ord for ColumnType
source§fn cmp(&self, other: &ColumnType) -> Ordering
fn cmp(&self, other: &ColumnType) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq for ColumnType
impl PartialEq for ColumnType
source§fn eq(&self, other: &ColumnType) -> bool
fn eq(&self, other: &ColumnType) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for ColumnType
impl PartialOrd for ColumnType
source§fn partial_cmp(&self, other: &ColumnType) -> Option<Ordering>
fn partial_cmp(&self, other: &ColumnType) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl RustType<ProtoColumnType> for ColumnType
impl RustType<ProtoColumnType> for ColumnType
source§fn into_proto(&self) -> ProtoColumnType
fn into_proto(&self) -> ProtoColumnType
Self
into a Proto
value.source§fn from_proto(proto: ProtoColumnType) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoColumnType) -> Result<Self, TryFromProtoError>
source§impl Serialize for ColumnType
impl Serialize for ColumnType
impl Eq for ColumnType
impl StructuralEq for ColumnType
impl StructuralPartialEq for ColumnType
Auto Trait Implementations§
impl RefUnwindSafe for ColumnType
impl Send for ColumnType
impl Sync for ColumnType
impl Unpin for ColumnType
impl UnwindSafe for ColumnType
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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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> Pointable for T
impl<T> Pointable for T
source§impl<T> PreferredContainer for Twhere
T: Clone,
impl<T> PreferredContainer for Twhere T: Clone,
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
.