pub enum ExprDataType {
Show 15 variants
Null,
Boolean,
Int64,
UInt64,
Float64,
Utf8,
Binary,
Decimal128 {
precision: u8,
scale: i8,
},
Date32,
Timestamp {
unit: TimeUnit,
timezone: Option<String>,
},
Interval {
unit: IntervalUnit,
},
List(Box<ExprDataType>),
Map {
key: Box<ExprDataType>,
value: Box<ExprDataType>,
},
Struct(Vec<ExprField>),
Variant,
}Expand description
Engine-owned data types used at public and wire boundaries.
Variants§
Null
Boolean
Int64
UInt64
Float64
Utf8
Binary
Decimal128
Date32
Timestamp
Interval
Fields
§
unit: IntervalUnitList(Box<ExprDataType>)
Map
Struct(Vec<ExprField>)
Variant
Semi-structured JSON-like data type (Spark VARIANT equivalent).
Stores arbitrary JSON without a fixed schema. Query-time access uses
variant_get(column, 'path') and schema is applied at read time.
Arrow serialization uses Binary with a variant encoding prefix.
Implementations§
Trait Implementations§
Source§impl Clone for ExprDataType
impl Clone for ExprDataType
Source§fn clone(&self) -> ExprDataType
fn clone(&self) -> ExprDataType
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExprDataType
impl Debug for ExprDataType
Source§impl<'de> Deserialize<'de> for ExprDataType
impl<'de> Deserialize<'de> for ExprDataType
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ExprDataType
Source§impl Hash for ExprDataType
impl Hash for ExprDataType
Source§impl PartialEq for ExprDataType
impl PartialEq for ExprDataType
Source§impl Serialize for ExprDataType
impl Serialize for ExprDataType
impl StructuralPartialEq for ExprDataType
Auto Trait Implementations§
impl Freeze for ExprDataType
impl RefUnwindSafe for ExprDataType
impl Send for ExprDataType
impl Sync for ExprDataType
impl Unpin for ExprDataType
impl UnsafeUnpin for ExprDataType
impl UnwindSafe for ExprDataType
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> ⓘ
Converts
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> ⓘ
Converts
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>
Wrap the input message
T in a tonic::Request