Arrow. Type
(Arrow v0.1.0)
Copy Markdown
Arrow logical types. Each type is a distinct struct under Arrow.Type.*.
Types parameterized by FlatBuffers tables (Int, FloatingPoint, Date,
Timestamp, ...) carry their parameters as fields. Children of nested types
(List, Struct) live on the enclosing Arrow.Field, mirroring the Arrow
schema layout.
Summary
Functions
Returns the Arrow.Array.* struct module that stores values of type.
Covers Int / FloatingPoint / Decimal — the types where the concrete
Array module is selected by a numeric parameter on the Type. Other
types have a 1:1 mapping and don't need a resolver.
Returns the Arrow.Buffer.primitive_kind/0 atom for the primitive
type's values buffer.
Types
@type t() :: %Arrow.Type.Null{} | %Arrow.Type.Bool{} | %Arrow.Type.Int{bit_width: term(), signed: term()} | %Arrow.Type.FloatingPoint{precision: term()} | %Arrow.Type.Utf8{} | %Arrow.Type.Binary{} | %Arrow.Type.Date{unit: term()} | %Arrow.Type.Timestamp{timezone: term(), unit: term()} | %Arrow.Type.List{} | %Arrow.Type.Struct{} | %Arrow.Type.Time{bit_width: term(), unit: term()} | %Arrow.Type.Duration{unit: term()} | %Arrow.Type.FixedSizeBinary{byte_width: term()} | %Arrow.Type.FixedSizeList{list_size: term()} | %Arrow.Type.Decimal{bit_width: term(), precision: term(), scale: term()} | %Arrow.Type.Map{keys_sorted: term()} | %Arrow.Type.Interval{unit: term()} | %Arrow.Type.LargeUtf8{} | %Arrow.Type.LargeBinary{} | %Arrow.Type.LargeList{}
Functions
Returns the Arrow.Array.* struct module that stores values of type.
Covers Int / FloatingPoint / Decimal — the types where the concrete
Array module is selected by a numeric parameter on the Type. Other
types have a 1:1 mapping and don't need a resolver.
@spec primitive_kind(t()) :: Arrow.Buffer.primitive_kind()
Returns the Arrow.Buffer.primitive_kind/0 atom for the primitive
type's values buffer.