pub enum LogicalDataType {
Show 15 variants
Bool,
Int32,
Int64,
Float32,
Float64,
Binary,
FixedBinary {
byte_width: i32,
},
Utf8,
Int96,
Timestamp {
unit: LogicalTimestampUnit,
timezone: Option<String>,
},
Decimal {
precision: i32,
scale: i32,
},
Struct {
fields: Vec<LogicalField>,
},
List {
elements: Box<LogicalField>,
},
Map {
key: Box<LogicalField>,
value: Option<Box<LogicalField>>,
keys_sorted: bool,
},
Other(String),
}Expand description
Logical data types that can be stored in the table schema metadata.
Variants§
Bool
Boolean value.
Int32
32-bit signed integer.
Int64
64-bit signed integer.
Float32
32-bit floating point.
Float64
64-bit floating point.
Binary
Variable-length binary data.
FixedBinary
Fixed-length binary data.
Utf8
UTF-8 encoded string.
Int96
Legacy 96-bit integer (primarily for Parquet compatibility).
Timestamp
Timestamp value with a precision unit and optional timezone.
Fields
unit: LogicalTimestampUnitTimestamp precision unit (millis, micros, nanos).
Decimal
Fixed-precision decimal value with declared precision and scale.
Fields
Struct
Struct with named child fields.
Fields
fields: Vec<LogicalField>Ordered set of child fields for the struct.
List
List (array) with a single element field definition.
Fields
elements: Box<LogicalField>Element field definition for list items.
Map
Map with key/value field definitions.
If value is None, this represents Parquet MAP “keys-only” semantics (set of keys).
Fields
key: Box<LogicalField>Key field definition (must be non-nullable for Arrow compatibility).
value: Option<Box<LogicalField>>Value field definition.
Other(String)
Catch-all logical data type referenced by name.
Trait Implementations§
Source§impl Clone for LogicalDataType
impl Clone for LogicalDataType
Source§fn clone(&self) -> LogicalDataType
fn clone(&self) -> LogicalDataType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LogicalDataType
impl Debug for LogicalDataType
Source§impl<'de> Deserialize<'de> for LogicalDataType
impl<'de> Deserialize<'de> for LogicalDataType
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<LogicalDataType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LogicalDataType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Display for LogicalDataType
impl Display for LogicalDataType
Source§impl PartialEq for LogicalDataType
impl PartialEq for LogicalDataType
Source§impl Serialize for LogicalDataType
impl Serialize for LogicalDataType
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for LogicalDataType
impl StructuralPartialEq for LogicalDataType
Auto Trait Implementations§
impl Freeze for LogicalDataType
impl RefUnwindSafe for LogicalDataType
impl Send for LogicalDataType
impl Sync for LogicalDataType
impl Unpin for LogicalDataType
impl UnsafeUnpin for LogicalDataType
impl UnwindSafe for LogicalDataType
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.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§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 more