pub enum LogicalType {
Show 18 variants
String,
Map,
List,
Enum,
Decimal {
scale: i32,
precision: i32,
},
Date,
Time {
is_adjusted_to_u_t_c: bool,
unit: TimeUnit,
},
Timestamp {
is_adjusted_to_u_t_c: bool,
unit: TimeUnit,
},
Integer {
bit_width: i8,
is_signed: bool,
},
Unknown,
Json,
Bson,
Uuid,
Float16,
Variant {
specification_version: Option<i8>,
},
Geometry {
crs: Option<String>,
},
Geography {
crs: Option<String>,
algorithm: Option<EdgeInterpolationAlgorithm>,
},
_Unknown {
field_id: i16,
},
}Expand description
Logical types used by version 2.4.0+ of the Parquet format.
This is an entirely new struct as of version
4.0.0. The struct previously named LogicalType was renamed to
ConvertedType. Please see the README.md for more details.
Variants§
String
A UTF8 encoded string.
Map
A map of key-value pairs.
List
A list of elements.
Enum
A set of predefined values.
Decimal
A decimal value with a specified scale and precision.
Fields
Date
A date stored as days since Unix epoch.
Time
A time stored as TimeUnit since midnight.
Fields
Timestamp
A timestamp stored as TimeUnit since Unix epoch.
Fields
Integer
An integer with a specified bit width and signedness.
Fields
Unknown
An unknown logical type.
Json
A JSON document.
Bson
A BSON document.
Uuid
A UUID.
Float16
A 16-bit floating point number.
Variant
A Variant value.
Fields
Geometry
A geospatial feature in the Well-Known Binary (WKB) format with linear/planar edges interpolation.
Fields
Geography
A geospatial feature in the WKB format with an explicit (non-linear/non-planar) edges interpolation.
Fields
algorithm: Option<EdgeInterpolationAlgorithm>An optional algorithm can be set to correctly interpret edges interpolation
of the geometries. If unset, the algorithm defaults to SPHERICAL.
_Unknown
For forward compatibility; used when an unknown union value is encountered.
Trait Implementations§
Source§impl Clone for LogicalType
impl Clone for LogicalType
Source§fn clone(&self) -> LogicalType
fn clone(&self) -> LogicalType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LogicalType
impl Debug for LogicalType
Source§impl FromStr for LogicalType
impl FromStr for LogicalType
Source§impl PartialEq for LogicalType
impl PartialEq for LogicalType
Source§impl<'a, R: ThriftCompactInputProtocol<'a>> ReadThrift<'a, R> for LogicalType
impl<'a, R: ThriftCompactInputProtocol<'a>> ReadThrift<'a, R> for LogicalType
Source§fn read_thrift(prot: &mut R) -> Result<Self>
fn read_thrift(prot: &mut R) -> Result<Self>
Self from the input protocol object.Source§impl WriteThrift for LogicalType
impl WriteThrift for LogicalType
Source§const ELEMENT_TYPE: ElementType = ElementType::Struct
const ELEMENT_TYPE: ElementType = ElementType::Struct
ElementType to use when a list of this object is written.Source§fn write_thrift<W: Write>(
&self,
writer: &mut ThriftCompactOutputProtocol<W>,
) -> Result<()>
fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>
writer.Source§impl WriteThriftField for LogicalType
impl WriteThriftField for LogicalType
Source§fn write_thrift_field<W: Write>(
&self,
writer: &mut ThriftCompactOutputProtocol<W>,
field_id: i16,
last_field_id: i16,
) -> Result<i16>
fn write_thrift_field<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, field_id: i16, last_field_id: i16, ) -> Result<i16>
field_id, using last_field_id to compute the
field delta used by the Thrift compact protocol. On success this will return field_id
to be used in chaining.impl Eq for LogicalType
impl StructuralPartialEq for LogicalType
Auto Trait Implementations§
impl Freeze for LogicalType
impl RefUnwindSafe for LogicalType
impl Send for LogicalType
impl Sync for LogicalType
impl Unpin for LogicalType
impl UnwindSafe for LogicalType
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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