Skip to main content

Crate quiver_types

Crate quiver_types 

Source
Expand description

Core types for the quiver crate.

You should normally depend on quiver instead of this crate. quiver_types exists so that the bulk of quiver compiles independently of the (optional) quiver_derive proc-macro crate.

Re-exports§

pub use arrow;
pub use half;

Macros§

newtype_datatype
Implements LogicalType for a domain newtype, making Column<MyType> work — including nesting (List<MyType>), the convenience constructors, and the derive.

Structs§

AnyBinary
Marker for a binary column in any of arrow’s byte-string encodings.
AnyList
Marker for a list column in any of arrow’s list encodings.
AnyUtf8
Marker for a UTF-8 column in any of arrow’s string encodings.
As
Adapter for using a foreign type (one you don’t own, so newtype_datatype! is off-limits by the orphan rule) as a logical column type, stored as Repr:
Binary
Marker for an arrow Binary column: variable-length byte strings.
BinaryView
Marker for an arrow BinaryView column: like Binary, in the newer “view” encoding (arrow::array::BinaryViewArray), optimized for comparisons and out-of-order writes.
Column
A strongly-typed, validated, zero-copy view of one record batch column.
ColumnDesc
Identifies a strongly-typed column by name.
ColumnIntoIter
By-value iterator over the owned values of a Column, created by Column::into_iter_owned.
ColumnIter
Iterator over the values of a Column.
Date32
Days since the Unix epoch, as an i32.
Date64
Milliseconds since the Unix epoch, as an i64 (expected to be a multiple of a day; not validated).
Dictionary
Marker for an arrow Dictionary column, e.g. Dictionary<i32, Utf8>.
Duration
Marker for an arrow Duration column, e.g. Duration<Nanosecond>.
DynColumn
A single dynamically-typed column of a record batch: the field description plus the actual data.
DynColumnDesc
Identifies a dynamically-typed column by name.
Error
An error from converting between a record batch and a #[derive(Quiver)] struct.
FixedSizeBinary
Marker for an arrow FixedSizeBinary(N) column, e.g. FixedSizeBinary<16> for UUIDs.
FixedSizeList
Marker for an arrow FixedSizeList column: each element holds exactly N items of logical type L, e.g. FixedSizeList<f32, 3> for 3D positions.
LargeBinary
Marker for an arrow LargeBinary column: like Binary, with 64-bit offsets.
LargeList
Marker for an arrow LargeList column with items of logical type L: like List, with 64-bit offsets.
LargeListView
Marker for an arrow LargeListView column with items of logical type L: like ListView, with 64-bit offsets and sizes.
LargeUtf8
Like Utf8, with 64-bit offsets (for single columns holding more than 2 GiB of text in total).
List
Marker for an arrow List column with items of logical type L.
ListValue
One list element of a list column (List, LargeList, FixedSizeList, …): a zero-copy, random-access view of that row’s typed items.
ListView
Marker for an arrow ListView column with items of logical type L: like List, in the list-view layout (per-row offset + size).
Map
Marker for an arrow Map column from keys K to values V, e.g. Map<Utf8, i64>.
MapValue
One map element of a Column<Map<K, V>>: an iterator over the typed (key, value) pairs.
Microsecond
Millisecond
Nanosecond
NoTimezone
Timezone-naive timestamps.
Run
Marker for an arrow run-end-encoded column, e.g. Run<i32, Utf8>.
Second
Time32Millisecond
Milliseconds since midnight, as an i32.
Time32Second
Seconds since midnight, as an i32.
Time64Microsecond
Microseconds since midnight, as an i64.
Time64Nanosecond
Nanoseconds since midnight, as an i64.
Timestamp
Marker for an arrow Timestamp column, e.g. Timestamp<Nanosecond, Utc>.
TypedDictionary
The validated representation of a Dictionary column: the dictionary array plus its downcast values.
TypedFixedSizeList
The validated representation of a FixedSizeList column: the list array plus its downcast values.
TypedLargeList
The validated representation of a LargeList column: the list array plus its downcast values.
TypedLargeListView
The validated representation of a LargeListView column: the list-view array plus its downcast values.
TypedList
The validated representation of a List column: the list array plus its downcast values.
TypedListView
The validated representation of a ListView column: the list-view array plus its downcast values.
TypedMap
The validated representation of a Map column: the map array plus its downcast keys and values.
TypedRun
The validated representation of a Run column: the run array plus its downcast values.
Utc
The “UTC” timezone.
Utf8
UTF-8 text: an arrow DataType::Utf8 column with String values.
Utf8View
Like Utf8, in the newer “view” encoding (arrow::array::StringViewArray), optimized for comparisons and out-of-order writes.

Enums§

AnyTypedBinary
The validated representation of an AnyBinary column: one of the per-encoding binary arrays.
AnyTypedList
The validated representation of an AnyList column: one of the per-encoding typed representations.
AnyTypedUtf8
The validated representation of an AnyUtf8 column: one of the per-encoding string arrays.
ColumnError
What can go wrong when constructing a Column.
ErrorKind
What went wrong when converting between a record batch and a #[derive(Quiver)] struct.

Traits§

ConcreteType
A LogicalType that corresponds to a single concrete arrow datatype, and can therefore be built and used to generate schemas.
DictionaryKey
A logical type usable as a Dictionary key: i8i64, u8u64.
InfallibleBuild
Marker for logical types whose ConcreteType::build can never fail, making the convenient Column::from_values (and From<Vec<T>>, FromIterator) available.
LogicalType
A logical column type, e.g. Utf8, Option<i64>, or List<Utf8>.
PrimitiveType
Logical types whose values are stored in one contiguous buffer of primitive values, enabling the zero-copy Column::as_slice.
RefType
Logical types whose element values can be borrowed as plain references (&str, &i64, …), enabling column[index] (see Column’s Index impl).
RunEndType
A logical type usable as a Run end-index: i16, i32, or i64.
TimeUnitSpec
A Timestamp/Duration time unit: Second, Millisecond, Microsecond, or Nanosecond.
TimezoneSpec
The timezone of a Timestamp: NoTimezone, Utc, or your own marker type.

Type Aliases§

DurationMicrosecond
DurationMillisecond
DurationNanosecond
DurationSecond
TimestampMicrosecond
TimestampMillisecond
TimestampNanosecond
TimestampSecond