pub enum ArrowType {
Show 24 variants
Null,
Boolean,
Int8,
Int16,
Int32,
Int64,
UInt8,
UInt16,
UInt32,
UInt64,
Float32,
Float64,
Date32,
Date64,
Time32(TimeUnit),
Time64(TimeUnit),
Duration32(TimeUnit),
Duration64(TimeUnit),
Timestamp(TimeUnit, Option<String>),
Interval(IntervalUnit),
String,
LargeString,
Utf8View,
Dictionary(CategoricalIndexType),
}Expand description
§ArrowType
Unified representation of supported Apache Arrow data types in Minarrow.
§Purpose
- Encodes the physical type and, for temporal variants, associated unit information for all supported Minarrow arrays.
- Provides a single discriminant used across the crate for schema definitions, type matching, and Arrow FFI export.
- Implements a focused subset of the official Arrow type specification:
https://arrow.apache.org/docs/python/api/datatypes.html.
§Coverage
- Core primitives: integer, floating-point, boolean.
- Strings: UTF-8 (
String) and optionally large UTF-8 (LargeString). - Dictionary-encoded strings: via
Dictionary(CategoricalIndexType). - Optional temporal types:
date,time,duration,timestamp, andintervalwith explicit units. Null: placeholder or metadata-only fields.
§Interoperability
- Directly compatible with the Apache Arrow C Data Interface type descriptors.
- Preserves type and temporal unit information when arrays are transmitted over FFI.
- Simplifies Minarrow’s type system (e.g., one
DatetimeArraytype) while taggingArrowTypeonFieldfor ecosystem compatibility.
§Notes
- For
DatetimeArraytypes,ArrowTypereflects only the physical encoding.
Logical distinctions (e.g., interpreting aDate64as a timestamp vs. a duration) are stored inFieldmetadata. - Dictionary key widths are defined by the associated
CategoricalIndexType.
Variants§
Null
Boolean
Int8
Int16
Int32
Int64
UInt8
UInt16
UInt32
UInt64
Float32
Float64
Date32
Date64
Time32(TimeUnit)
Time64(TimeUnit)
Duration32(TimeUnit)
Duration64(TimeUnit)
Timestamp(TimeUnit, Option<String>)
Interval(IntervalUnit)
String
LargeString
Utf8View
Dictionary(CategoricalIndexType)
Trait Implementations§
impl Eq for ArrowType
impl StructuralPartialEq for ArrowType
Auto Trait Implementations§
impl Freeze for ArrowType
impl RefUnwindSafe for ArrowType
impl Send for ArrowType
impl Sync for ArrowType
impl Unpin for ArrowType
impl UnsafeUnpin for ArrowType
impl UnwindSafe for ArrowType
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CustomValue for T
impl<T> CustomValue for T
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> Key for Twhere
T: Clone,
impl<T> Key for Twhere
T: Clone,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.