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