array

package
Version: v7.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2022 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 8 more Imports: 23 Imported by: 11

Documentation

Overview

Package array provides implementations of various Arrow array types.

Index

Constants

View Source
const (
	// UnknownNullCount specifies the NullN should be calculated from the null bitmap buffer.
	UnknownNullCount = -1
)

Variables

View Source
var (
	// NewColumn aliases the arrow.NewColumn function to avoid breaking consumers.
	//
	// Deprecated: this alias will be removed in v8
	NewColumn = arrow.NewColumn
	// NewChunked aliases the arrow.NewChunked function to avoid breaking consumers.
	//
	// Deprecated: this alias will be removed in v8
	NewChunked = arrow.NewChunked
)

Functions

func ArrayApproxEqual

func ArrayApproxEqual(left, right arrow.Array, opts ...EqualOption) bool

ArrayApproxEqual reports whether the two provided arrays are approximately equal. For non-floating point arrays, it is equivalent to ArrayEqual.

func ArrayEqual

func ArrayEqual(left, right arrow.Array) bool

ArrayEqual reports whether the two provided arrays are equal.

func ArraySliceApproxEqual

func ArraySliceApproxEqual(left arrow.Array, lbeg, lend int64, right arrow.Array, rbeg, rend int64, opts ...EqualOption) bool

ArraySliceApproxEqual reports whether slices left[lbeg:lend] and right[rbeg:rend] are approximately equal.

func ArraySliceEqual

func ArraySliceEqual(left arrow.Array, lbeg, lend int64, right arrow.Array, rbeg, rend int64) bool

ArraySliceEqual reports whether slices left[lbeg:lend] and right[rbeg:rend] are equal.

func ChunkedApproxEqual

func ChunkedApproxEqual(left, right *Chunked, opts ...EqualOption) bool

ChunkedApproxEqual reports whether two chunked arrays are approximately equal regardless of their chunkings for non-floating point arrays, this is equivalent to ChunkedEqual

func ChunkedEqual

func ChunkedEqual(left, right *Chunked) bool

ChunkedEqual reports whether two chunked arrays are equal regardless of their chunkings

func Concatenate

func Concatenate(arrs []arrow.Array, mem memory.Allocator) (arrow.Array, error)

Concatenate creates a new arrow.Array which is the concatenation of the passed in arrays. Returns nil if an error is encountered.

The passed in arrays still need to be released manually, and will not be released by this function.

func FromJSON

func FromJSON(mem memory.Allocator, dt arrow.DataType, r io.Reader, opts ...FromJSONOption) (arr arrow.Array, offset int64, err error)

FromJSON creates an arrow.Array from a corresponding JSON stream and defined data type. If the types in the json do not match the type provided, it will return errors. This is *not* the integration test format and should not be used as such. This intended to be used by consumers more similarly to the current exposing of the csv reader/writer. It also returns the input offset in the reader where it finished decoding since buffering by the decoder could leave the reader's cursor past where the parsing finished if attempting to parse multiple json arrays from one stream.

All the Array types implement json.Marshaller and thus can be written to json using the json.Marshal function

The JSON provided must be formatted in one of two ways:

Default: the top level of the json must be a list which matches the type specified exactly
Example: `[1, 2, 3, 4, 5]` for any integer type or `[[...], null, [], .....]` for a List type
			Struct arrays are represented a list of objects: `[{"foo": 1, "bar": "moo"}, {"foo": 5, "bar": "baz"}]`

Using WithMultipleDocs:
	If the JSON provided is multiple newline separated json documents, then use this option
	and each json document will be treated as a single row of the array. This is most useful for record batches
	and interacting with other processes that use json. For example:
		`{"col1": 1, "col2": "row1", "col3": ...}\n{"col1": 2, "col2": "row2", "col3": ...}\n.....`

Duration values get formated upon marshalling as a string consisting of their numeric value followed by the unit suffix such as "10s" for a value of 10 and unit of Seconds. with "ms" for millisecond, "us" for microsecond, and "ns" for nanosecond as the suffixes. Unmarshalling duration values is more permissive since it first tries to use Go's time.ParseDuration function which means it allows values in the form 3h25m0.3s in addition to the same values which are output.

Interval types are marshalled / unmarshalled as follows:

 MonthInterval is marshalled as an object with the format:
	 { "months": #}
 DayTimeInterval is marshalled using Go's regular marshalling of structs:
	 { "days": #, "milliseconds": # }
 MonthDayNanoInterval values are marshalled the same as DayTime using Go's struct marshalling:
  { "months": #, "days": #, "nanoseconds": # }

Times use a format of HH:MM or HH:MM:SS[.zzz] where the fractions of a second cannot exceed the precision allowed by the time unit, otherwise unmarshalling will error.

Dates use YYYY-MM-DD format

Timestamps use RFC3339Nano format except without a timezone, all of the following are valid:

	YYYY-MM-DD
	YYYY-MM-DD[T]HH
	YYYY-MM-DD[T]HH:MM
 YYYY-MM-DD[T]HH:MM:SS[.zzzzzzzzzz]

The fractions of a second cannot exceed the precision allowed by the timeunit of the datatype.

When processing structs as objects order of keys does not matter, but keys cannot be repeated.

func Hash

func Hash(h *maphash.Hash, data arrow.ArrayData)

func MakeFromData

func MakeFromData(data arrow.ArrayData) arrow.Array

MakeFromData constructs a strongly-typed array instance from generic Data.

func NewColumnSlice

func NewColumnSlice(col *arrow.Column, i, j int64) *arrow.Column

NewColumnSlice returns a new zero-copy slice of the column with the indicated indices i and j, corresponding to the column's array[i:j]. The returned column must be Release()'d after use.

NewColSlice panics if the slice is outside the valid range of the column's array. NewColSlice panics if j < i.

func NewExtensionArrayWithStorage

func NewExtensionArrayWithStorage(dt arrow.ExtensionType, storage arrow.Array) arrow.Array

NewExtensionArrayWithStorage constructs a new ExtensionArray from the provided ExtensionType and uses the provided storage interface as the underlying storage. This will not release the storage array passed in so consumers should call Release on it manually while the new Extension array will share references to the underlying Data buffers.

func NewRecord

func NewRecord(schema *arrow.Schema, cols []arrow.Array, nrows int64) *simpleRecord

NewRecord returns a basic, non-lazy in-memory record batch.

NewRecord panics if the columns and schema are inconsistent. NewRecord panics if rows is larger than the height of the columns.

func NewRecordReader

func NewRecordReader(schema *arrow.Schema, recs []Record) (*simpleRecords, error)

NewRecordReader returns a simple iterator over the given slice of records.

func NewSlice

func NewSlice(arr arrow.Array, i, j int64) arrow.Array

NewSlice constructs a zero-copy slice of the array with the indicated indices i and j, corresponding to array[i:j]. The returned array must be Release()'d after use.

NewSlice panics if the slice is outside the valid range of the input array. NewSlice panics if j < i.

func NewSliceData

func NewSliceData(data arrow.ArrayData, i, j int64) arrow.ArrayData

NewSliceData returns a new slice that shares backing data with the input. The returned Data slice starts at i and extends j-i elements, such as:

slice := data[i:j]

The returned value must be Release'd after use.

NewSliceData panics if the slice is outside the valid range of the input Data. NewSliceData panics if j < i.

func NewTable

func NewTable(schema *arrow.Schema, cols []Column, rows int64) *simpleTable

NewTable returns a new basic, non-lazy in-memory table. If rows is negative, the number of rows will be inferred from the height of the columns.

NewTable panics if the columns and schema are inconsistent. NewTable panics if rows is larger than the height of the columns.

func NewTableFromRecords

func NewTableFromRecords(schema *arrow.Schema, recs []Record) *simpleTable

NewTableFromRecords returns a new basic, non-lazy in-memory table.

NewTableFromRecords panics if the records and schema are inconsistent.

func RecordApproxEqual

func RecordApproxEqual(left, right Record, opts ...EqualOption) bool

RecordApproxEqual reports whether the two provided records are approximately equal. For non-floating point columns, it is equivalent to RecordEqual.

func RecordEqual

func RecordEqual(left, right Record) bool

RecordEqual reports whether the two provided records are equal.

func RecordToJSON

func RecordToJSON(rec Record, w io.Writer) error

RecordToJSON writes out the given record following the format of each row is a single object on a single line of the output.

func TableApproxEqual

func TableApproxEqual(left, right Table, opts ...EqualOption) bool

TableEqual returns if the two tables have the approximately equal data in the same schema

func TableEqual

func TableEqual(left, right Table) bool

TableEqual returns if the two tables have the same data in the same schema

Types

type Binary

type Binary struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of variable-length binary strings.

func NewBinaryData

func NewBinaryData(data arrow.ArrayData) *Binary

NewBinaryData constructs a new Binary array from data.

func (*Binary) Data

func (a *Binary) Data() arrow.ArrayData

func (*Binary) DataType

func (a *Binary) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Binary) IsNull

func (a *Binary) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Binary) IsValid

func (a *Binary) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Binary) Len

func (a *Binary) Len() int

Len returns the number of elements in the array.

func (*Binary) MarshalJSON

func (a *Binary) MarshalJSON() ([]byte, error)

func (*Binary) NullBitmapBytes

func (a *Binary) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Binary) NullN

func (a *Binary) NullN() int

NullN returns the number of null values in the array.

func (*Binary) Offset

func (a *Binary) Offset() int

func (*Binary) Release

func (a *Binary) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Binary) Retain

func (a *Binary) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Binary) String

func (a *Binary) String() string

func (*Binary) Value

func (a *Binary) Value(i int) []byte

Value returns the slice at index i. This value should not be mutated.

func (*Binary) ValueBytes

func (a *Binary) ValueBytes() []byte

func (*Binary) ValueLen

func (a *Binary) ValueLen(i int) int

func (*Binary) ValueOffset

func (a *Binary) ValueOffset(i int) int

func (*Binary) ValueOffsets

func (a *Binary) ValueOffsets() []int32

func (*Binary) ValueString

func (a *Binary) ValueString(i int) string

ValueString returns the string at index i without performing additional allocations. The string is only valid for the lifetime of the Binary array.

type BinaryBuilder

type BinaryBuilder struct {
	// contains filtered or unexported fields
}

A BinaryBuilder is used to build a Binary array using the Append methods.

func NewBinaryBuilder

func NewBinaryBuilder(mem memory.Allocator, dtype arrow.BinaryDataType) *BinaryBuilder

func (*BinaryBuilder) Append

func (b *BinaryBuilder) Append(v []byte)

func (*BinaryBuilder) AppendNull

func (b *BinaryBuilder) AppendNull()

func (*BinaryBuilder) AppendString

func (b *BinaryBuilder) AppendString(v string)

func (*BinaryBuilder) AppendStringValues

func (b *BinaryBuilder) AppendStringValues(v []string, valid []bool)

AppendStringValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*BinaryBuilder) AppendValues

func (b *BinaryBuilder) AppendValues(v [][]byte, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*BinaryBuilder) Cap

func (b *BinaryBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*BinaryBuilder) DataCap

func (b *BinaryBuilder) DataCap() int

DataCap returns the total number of bytes that can be stored without allocating additional memory.

func (*BinaryBuilder) DataLen

func (b *BinaryBuilder) DataLen() int

DataLen returns the number of bytes in the data array.

func (*BinaryBuilder) Len

func (b *BinaryBuilder) Len() int

Len returns the number of elements in the array builder.

func (*BinaryBuilder) NewArray

func (b *BinaryBuilder) NewArray() arrow.Array

NewArray creates a Binary array from the memory buffers used by the builder and resets the BinaryBuilder so it can be used to build a new array.

func (*BinaryBuilder) NewBinaryArray

func (b *BinaryBuilder) NewBinaryArray() (a *Binary)

NewBinaryArray creates a Binary array from the memory buffers used by the builder and resets the BinaryBuilder so it can be used to build a new array.

func (*BinaryBuilder) NullN

func (b *BinaryBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*BinaryBuilder) Release

func (b *BinaryBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed. Release may be called simultaneously from multiple goroutines.

func (*BinaryBuilder) Reserve

func (b *BinaryBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*BinaryBuilder) ReserveData

func (b *BinaryBuilder) ReserveData(n int)

ReserveData ensures there is enough space for appending n bytes by checking the capacity and resizing the data buffer if necessary.

func (*BinaryBuilder) Resize

func (b *BinaryBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may be reduced.

func (*BinaryBuilder) Retain

func (b *BinaryBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*BinaryBuilder) UnmarshalJSON

func (b *BinaryBuilder) UnmarshalJSON(data []byte) error

func (*BinaryBuilder) UnsafeAppendBoolToBitmap

func (b *BinaryBuilder) UnsafeAppendBoolToBitmap(isValid bool)

func (*BinaryBuilder) Value

func (b *BinaryBuilder) Value(i int) []byte

type Boolean

type Boolean struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of boolean values.

func NewBoolean

func NewBoolean(length int, data *memory.Buffer, nullBitmap *memory.Buffer, nulls int) *Boolean

NewBoolean creates a boolean array from the data memory.Buffer and contains length elements. The nullBitmap buffer can be nil of there are no null values. If nulls is not known, use UnknownNullCount to calculate the value of NullN at runtime from the nullBitmap buffer.

func NewBooleanData

func NewBooleanData(data arrow.ArrayData) *Boolean

func (*Boolean) Data

func (a *Boolean) Data() arrow.ArrayData

func (*Boolean) DataType

func (a *Boolean) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Boolean) IsNull

func (a *Boolean) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Boolean) IsValid

func (a *Boolean) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Boolean) Len

func (a *Boolean) Len() int

Len returns the number of elements in the array.

func (*Boolean) MarshalJSON

func (a *Boolean) MarshalJSON() ([]byte, error)

func (*Boolean) NullBitmapBytes

func (a *Boolean) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Boolean) NullN

func (a *Boolean) NullN() int

NullN returns the number of null values in the array.

func (*Boolean) Offset

func (a *Boolean) Offset() int

func (*Boolean) Release

func (a *Boolean) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Boolean) Retain

func (a *Boolean) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Boolean) String

func (a *Boolean) String() string

func (*Boolean) Value

func (a *Boolean) Value(i int) bool

type BooleanBuilder

type BooleanBuilder struct {
	// contains filtered or unexported fields
}

func NewBooleanBuilder

func NewBooleanBuilder(mem memory.Allocator) *BooleanBuilder

func (*BooleanBuilder) Append

func (b *BooleanBuilder) Append(v bool)

func (*BooleanBuilder) AppendByte

func (b *BooleanBuilder) AppendByte(v byte)

func (*BooleanBuilder) AppendNull

func (b *BooleanBuilder) AppendNull()

func (*BooleanBuilder) AppendValues

func (b *BooleanBuilder) AppendValues(v []bool, valid []bool)

func (*BooleanBuilder) Cap

func (b *BooleanBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*BooleanBuilder) Len

func (b *BooleanBuilder) Len() int

Len returns the number of elements in the array builder.

func (*BooleanBuilder) NewArray

func (b *BooleanBuilder) NewArray() arrow.Array

NewArray creates a Boolean array from the memory buffers used by the builder and resets the BooleanBuilder so it can be used to build a new array.

func (*BooleanBuilder) NewBooleanArray

func (b *BooleanBuilder) NewBooleanArray() (a *Boolean)

NewBooleanArray creates a Boolean array from the memory buffers used by the builder and resets the BooleanBuilder so it can be used to build a new array.

func (*BooleanBuilder) NullN

func (b *BooleanBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*BooleanBuilder) Release

func (b *BooleanBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed. Release may be called simultaneously from multiple goroutines.

func (*BooleanBuilder) Reserve

func (b *BooleanBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*BooleanBuilder) Resize

func (b *BooleanBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*BooleanBuilder) Retain

func (b *BooleanBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*BooleanBuilder) UnmarshalJSON

func (b *BooleanBuilder) UnmarshalJSON(data []byte) error

func (*BooleanBuilder) UnsafeAppend

func (b *BooleanBuilder) UnsafeAppend(v bool)

func (*BooleanBuilder) UnsafeAppendBoolToBitmap

func (b *BooleanBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type Builder

type Builder interface {
	// you can unmarshal a json array to add the values to a builder
	json.Unmarshaler

	// Retain increases the reference count by 1.
	// Retain may be called simultaneously from multiple goroutines.
	Retain()

	// Release decreases the reference count by 1.
	Release()

	// Len returns the number of elements in the array builder.
	Len() int

	// Cap returns the total number of elements that can be stored
	// without allocating additional memory.
	Cap() int

	// NullN returns the number of null values in the array builder.
	NullN() int

	// AppendNull adds a new null value to the array being built.
	AppendNull()

	// Reserve ensures there is enough space for appending n elements
	// by checking the capacity and calling Resize if necessary.
	Reserve(n int)

	// Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(),
	// additional memory will be allocated. If n is smaller, the allocated memory may reduced.
	Resize(n int)

	// NewArray creates a new array from the memory buffers used
	// by the builder and resets the Builder so it can be used to build
	// a new array.
	NewArray() arrow.Array
	// contains filtered or unexported methods
}

Builder provides an interface to build arrow arrays.

func NewBuilder

func NewBuilder(mem memory.Allocator, dtype arrow.DataType) Builder

type Chunked deprecated

type Chunked = arrow.Chunked

Chunked aliases arrow.Chunked

Deprecated: this alias will be removed in v8

func NewChunkedSlice

func NewChunkedSlice(a *arrow.Chunked, i, j int64) *Chunked

NewChunkedSlice constructs a zero-copy slice of the chunked array with the indicated indices i and j, corresponding to array[i:j]. The returned chunked array must be Release()'d after use.

NewSlice panics if the slice is outside the valid range of the input array. NewSlice panics if j < i.

type Column deprecated

type Column = arrow.Column

Column aliases arrow.Column

Deprecated: this alias will be removed in v8

type Data

type Data struct {
	// contains filtered or unexported fields
}

Data represents the memory and metadata of an Arrow array.

func NewData

func NewData(dtype arrow.DataType, length int, buffers []*memory.Buffer, childData []arrow.ArrayData, nulls, offset int) *Data

NewData creates a new Data.

func (*Data) Buffers

func (d *Data) Buffers() []*memory.Buffer

Buffers returns the buffers.

func (*Data) Children

func (d *Data) Children() []arrow.ArrayData

func (*Data) DataType

func (d *Data) DataType() arrow.DataType

DataType returns the DataType of the data.

func (*Data) Len

func (d *Data) Len() int

Len returns the length.

func (*Data) NullN

func (d *Data) NullN() int

NullN returns the number of nulls.

func (*Data) Offset

func (d *Data) Offset() int

Offset returns the offset.

func (*Data) Release

func (d *Data) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed. Release may be called simultaneously from multiple goroutines.

func (*Data) Reset

func (d *Data) Reset(dtype arrow.DataType, length int, buffers []*memory.Buffer, childData []arrow.ArrayData, nulls, offset int)

Reset sets the Data for re-use.

func (*Data) Retain

func (d *Data) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

type Date32

type Date32 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of arrow.Date32 values.

func NewDate32Data

func NewDate32Data(data arrow.ArrayData) *Date32

NewDate32Data creates a new Date32.

func (*Date32) Data

func (a *Date32) Data() arrow.ArrayData

func (*Date32) DataType

func (a *Date32) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Date32) Date32Values

func (a *Date32) Date32Values() []arrow.Date32

Values returns the values.

func (*Date32) IsNull

func (a *Date32) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Date32) IsValid

func (a *Date32) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Date32) Len

func (a *Date32) Len() int

Len returns the number of elements in the array.

func (*Date32) MarshalJSON

func (a *Date32) MarshalJSON() ([]byte, error)

func (*Date32) NullBitmapBytes

func (a *Date32) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Date32) NullN

func (a *Date32) NullN() int

NullN returns the number of null values in the array.

func (*Date32) Offset

func (a *Date32) Offset() int

func (*Date32) Release

func (a *Date32) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Date32) Reset

func (a *Date32) Reset(data *Data)

Reset resets the array for re-use.

func (*Date32) Retain

func (a *Date32) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Date32) String

func (a *Date32) String() string

String returns a string representation of the array.

func (*Date32) Value

func (a *Date32) Value(i int) arrow.Date32

Value returns the value at the specified index.

type Date32Builder

type Date32Builder struct {
	// contains filtered or unexported fields
}

func NewDate32Builder

func NewDate32Builder(mem memory.Allocator) *Date32Builder

func (*Date32Builder) Append

func (b *Date32Builder) Append(v arrow.Date32)

func (*Date32Builder) AppendNull

func (b *Date32Builder) AppendNull()

func (*Date32Builder) AppendValues

func (b *Date32Builder) AppendValues(v []arrow.Date32, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Date32Builder) Cap

func (b *Date32Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Date32Builder) Len

func (b *Date32Builder) Len() int

Len returns the number of elements in the array builder.

func (*Date32Builder) NewArray

func (b *Date32Builder) NewArray() arrow.Array

NewArray creates a Date32 array from the memory buffers used by the builder and resets the Date32Builder so it can be used to build a new array.

func (*Date32Builder) NewDate32Array

func (b *Date32Builder) NewDate32Array() (a *Date32)

NewDate32Array creates a Date32 array from the memory buffers used by the builder and resets the Date32Builder so it can be used to build a new array.

func (*Date32Builder) NullN

func (b *Date32Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Date32Builder) Release

func (b *Date32Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Date32Builder) Reserve

func (b *Date32Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Date32Builder) Resize

func (b *Date32Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Date32Builder) Retain

func (b *Date32Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Date32Builder) UnmarshalJSON

func (b *Date32Builder) UnmarshalJSON(data []byte) error

func (*Date32Builder) UnsafeAppend

func (b *Date32Builder) UnsafeAppend(v arrow.Date32)

func (*Date32Builder) UnsafeAppendBoolToBitmap

func (b *Date32Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Date64

type Date64 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of arrow.Date64 values.

func NewDate64Data

func NewDate64Data(data arrow.ArrayData) *Date64

NewDate64Data creates a new Date64.

func (*Date64) Data

func (a *Date64) Data() arrow.ArrayData

func (*Date64) DataType

func (a *Date64) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Date64) Date64Values

func (a *Date64) Date64Values() []arrow.Date64

Values returns the values.

func (*Date64) IsNull

func (a *Date64) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Date64) IsValid

func (a *Date64) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Date64) Len

func (a *Date64) Len() int

Len returns the number of elements in the array.

func (*Date64) MarshalJSON

func (a *Date64) MarshalJSON() ([]byte, error)

func (*Date64) NullBitmapBytes

func (a *Date64) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Date64) NullN

func (a *Date64) NullN() int

NullN returns the number of null values in the array.

func (*Date64) Offset

func (a *Date64) Offset() int

func (*Date64) Release

func (a *Date64) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Date64) Reset

func (a *Date64) Reset(data *Data)

Reset resets the array for re-use.

func (*Date64) Retain

func (a *Date64) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Date64) String

func (a *Date64) String() string

String returns a string representation of the array.

func (*Date64) Value

func (a *Date64) Value(i int) arrow.Date64

Value returns the value at the specified index.

type Date64Builder

type Date64Builder struct {
	// contains filtered or unexported fields
}

func NewDate64Builder

func NewDate64Builder(mem memory.Allocator) *Date64Builder

func (*Date64Builder) Append

func (b *Date64Builder) Append(v arrow.Date64)

func (*Date64Builder) AppendNull

func (b *Date64Builder) AppendNull()

func (*Date64Builder) AppendValues

func (b *Date64Builder) AppendValues(v []arrow.Date64, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Date64Builder) Cap

func (b *Date64Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Date64Builder) Len

func (b *Date64Builder) Len() int

Len returns the number of elements in the array builder.

func (*Date64Builder) NewArray

func (b *Date64Builder) NewArray() arrow.Array

NewArray creates a Date64 array from the memory buffers used by the builder and resets the Date64Builder so it can be used to build a new array.

func (*Date64Builder) NewDate64Array

func (b *Date64Builder) NewDate64Array() (a *Date64)

NewDate64Array creates a Date64 array from the memory buffers used by the builder and resets the Date64Builder so it can be used to build a new array.

func (*Date64Builder) NullN

func (b *Date64Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Date64Builder) Release

func (b *Date64Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Date64Builder) Reserve

func (b *Date64Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Date64Builder) Resize

func (b *Date64Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Date64Builder) Retain

func (b *Date64Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Date64Builder) UnmarshalJSON

func (b *Date64Builder) UnmarshalJSON(data []byte) error

func (*Date64Builder) UnsafeAppend

func (b *Date64Builder) UnsafeAppend(v arrow.Date64)

func (*Date64Builder) UnsafeAppendBoolToBitmap

func (b *Date64Builder) UnsafeAppendBoolToBitmap(isValid bool)

type DayTimeInterval

type DayTimeInterval struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of arrow.DayTimeInterval values.

func NewDayTimeIntervalData

func NewDayTimeIntervalData(data arrow.ArrayData) *DayTimeInterval

func (*DayTimeInterval) Data

func (a *DayTimeInterval) Data() arrow.ArrayData

func (*DayTimeInterval) DataType

func (a *DayTimeInterval) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*DayTimeInterval) DayTimeIntervalValues

func (a *DayTimeInterval) DayTimeIntervalValues() []arrow.DayTimeInterval

func (*DayTimeInterval) IsNull

func (a *DayTimeInterval) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*DayTimeInterval) IsValid

func (a *DayTimeInterval) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*DayTimeInterval) Len

func (a *DayTimeInterval) Len() int

Len returns the number of elements in the array.

func (*DayTimeInterval) MarshalJSON

func (a *DayTimeInterval) MarshalJSON() ([]byte, error)

MarshalJSON will marshal this array to JSON as an array of objects, consisting of the form {"days": #, "milliseconds": #} for each element.

func (*DayTimeInterval) NullBitmapBytes

func (a *DayTimeInterval) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*DayTimeInterval) NullN

func (a *DayTimeInterval) NullN() int

NullN returns the number of null values in the array.

func (*DayTimeInterval) Offset

func (a *DayTimeInterval) Offset() int

func (*DayTimeInterval) Release

func (a *DayTimeInterval) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*DayTimeInterval) Retain

func (a *DayTimeInterval) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*DayTimeInterval) String

func (a *DayTimeInterval) String() string

func (*DayTimeInterval) Value

type DayTimeIntervalBuilder

type DayTimeIntervalBuilder struct {
	// contains filtered or unexported fields
}

func NewDayTimeIntervalBuilder

func NewDayTimeIntervalBuilder(mem memory.Allocator) *DayTimeIntervalBuilder

func (*DayTimeIntervalBuilder) Append

func (*DayTimeIntervalBuilder) AppendNull

func (b *DayTimeIntervalBuilder) AppendNull()

func (*DayTimeIntervalBuilder) AppendValues

func (b *DayTimeIntervalBuilder) AppendValues(v []arrow.DayTimeInterval, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*DayTimeIntervalBuilder) Cap

func (b *DayTimeIntervalBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*DayTimeIntervalBuilder) Len

func (b *DayTimeIntervalBuilder) Len() int

Len returns the number of elements in the array builder.

func (*DayTimeIntervalBuilder) NewArray

func (b *DayTimeIntervalBuilder) NewArray() arrow.Array

NewArray creates a DayTimeInterval array from the memory buffers used by the builder and resets the DayTimeIntervalBuilder so it can be used to build a new array.

func (*DayTimeIntervalBuilder) NewDayTimeIntervalArray

func (b *DayTimeIntervalBuilder) NewDayTimeIntervalArray() (a *DayTimeInterval)

NewDayTimeIntervalArray creates a DayTimeInterval array from the memory buffers used by the builder and resets the DayTimeIntervalBuilder so it can be used to build a new array.

func (*DayTimeIntervalBuilder) NullN

func (b *DayTimeIntervalBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*DayTimeIntervalBuilder) Release

func (b *DayTimeIntervalBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*DayTimeIntervalBuilder) Reserve

func (b *DayTimeIntervalBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*DayTimeIntervalBuilder) Resize

func (b *DayTimeIntervalBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*DayTimeIntervalBuilder) Retain

func (b *DayTimeIntervalBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*DayTimeIntervalBuilder) UnmarshalJSON

func (b *DayTimeIntervalBuilder) UnmarshalJSON(data []byte) error

UnmarshalJSON will add the values unmarshalled from an array to the builder, with the values expected to be objects of the form {"days": #, "milliseconds": #}

func (*DayTimeIntervalBuilder) UnsafeAppend

func (b *DayTimeIntervalBuilder) UnsafeAppend(v arrow.DayTimeInterval)

func (*DayTimeIntervalBuilder) UnsafeAppendBoolToBitmap

func (b *DayTimeIntervalBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type Decimal128

type Decimal128 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of 128-bit decimal values.

func NewDecimal128Data

func NewDecimal128Data(data arrow.ArrayData) *Decimal128

func (*Decimal128) Data

func (a *Decimal128) Data() arrow.ArrayData

func (*Decimal128) DataType

func (a *Decimal128) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Decimal128) IsNull

func (a *Decimal128) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Decimal128) IsValid

func (a *Decimal128) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Decimal128) Len

func (a *Decimal128) Len() int

Len returns the number of elements in the array.

func (*Decimal128) MarshalJSON

func (a *Decimal128) MarshalJSON() ([]byte, error)

func (*Decimal128) NullBitmapBytes

func (a *Decimal128) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Decimal128) NullN

func (a *Decimal128) NullN() int

NullN returns the number of null values in the array.

func (*Decimal128) Offset

func (a *Decimal128) Offset() int

func (*Decimal128) Release

func (a *Decimal128) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Decimal128) Retain

func (a *Decimal128) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Decimal128) String

func (a *Decimal128) String() string

func (*Decimal128) Value

func (a *Decimal128) Value(i int) decimal128.Num

func (*Decimal128) Values

func (a *Decimal128) Values() []decimal128.Num

type Decimal128Builder

type Decimal128Builder struct {
	// contains filtered or unexported fields
}

func NewDecimal128Builder

func NewDecimal128Builder(mem memory.Allocator, dtype *arrow.Decimal128Type) *Decimal128Builder

func (*Decimal128Builder) Append

func (b *Decimal128Builder) Append(v decimal128.Num)

func (*Decimal128Builder) AppendNull

func (b *Decimal128Builder) AppendNull()

func (*Decimal128Builder) AppendValues

func (b *Decimal128Builder) AppendValues(v []decimal128.Num, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Decimal128Builder) Cap

func (b *Decimal128Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Decimal128Builder) Len

func (b *Decimal128Builder) Len() int

Len returns the number of elements in the array builder.

func (*Decimal128Builder) NewArray

func (b *Decimal128Builder) NewArray() arrow.Array

NewArray creates a Decimal128 array from the memory buffers used by the builder and resets the Decimal128Builder so it can be used to build a new array.

func (*Decimal128Builder) NewDecimal128Array

func (b *Decimal128Builder) NewDecimal128Array() (a *Decimal128)

NewDecimal128Array creates a Decimal128 array from the memory buffers used by the builder and resets the Decimal128Builder so it can be used to build a new array.

func (*Decimal128Builder) NullN

func (b *Decimal128Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Decimal128Builder) Release

func (b *Decimal128Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Decimal128Builder) Reserve

func (b *Decimal128Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Decimal128Builder) Resize

func (b *Decimal128Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Decimal128Builder) Retain

func (b *Decimal128Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Decimal128Builder) UnmarshalJSON

func (b *Decimal128Builder) UnmarshalJSON(data []byte) error

UnmarshalJSON will add the unmarshalled values to this builder.

If the values are strings, they will get parsed with big.ParseFloat using a rounding mode of big.ToNearestAway currently.

func (*Decimal128Builder) UnsafeAppend

func (b *Decimal128Builder) UnsafeAppend(v decimal128.Num)

func (*Decimal128Builder) UnsafeAppendBoolToBitmap

func (b *Decimal128Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Duration

type Duration struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of arrow.Duration values.

func NewDurationData

func NewDurationData(data arrow.ArrayData) *Duration

NewDurationData creates a new Duration.

func (*Duration) Data

func (a *Duration) Data() arrow.ArrayData

func (*Duration) DataType

func (a *Duration) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Duration) DurationValues

func (a *Duration) DurationValues() []arrow.Duration

Values returns the values.

func (*Duration) IsNull

func (a *Duration) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Duration) IsValid

func (a *Duration) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Duration) Len

func (a *Duration) Len() int

Len returns the number of elements in the array.

func (*Duration) MarshalJSON

func (a *Duration) MarshalJSON() ([]byte, error)

func (*Duration) NullBitmapBytes

func (a *Duration) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Duration) NullN

func (a *Duration) NullN() int

NullN returns the number of null values in the array.

func (*Duration) Offset

func (a *Duration) Offset() int

func (*Duration) Release

func (a *Duration) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Duration) Reset

func (a *Duration) Reset(data *Data)

Reset resets the array for re-use.

func (*Duration) Retain

func (a *Duration) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Duration) String

func (a *Duration) String() string

String returns a string representation of the array.

func (*Duration) Value

func (a *Duration) Value(i int) arrow.Duration

Value returns the value at the specified index.

type DurationBuilder

type DurationBuilder struct {
	// contains filtered or unexported fields
}

func NewDurationBuilder

func NewDurationBuilder(mem memory.Allocator, dtype *arrow.DurationType) *DurationBuilder

func (*DurationBuilder) Append

func (b *DurationBuilder) Append(v arrow.Duration)

func (*DurationBuilder) AppendNull

func (b *DurationBuilder) AppendNull()

func (*DurationBuilder) AppendValues

func (b *DurationBuilder) AppendValues(v []arrow.Duration, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*DurationBuilder) Cap

func (b *DurationBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*DurationBuilder) Len

func (b *DurationBuilder) Len() int

Len returns the number of elements in the array builder.

func (*DurationBuilder) NewArray

func (b *DurationBuilder) NewArray() arrow.Array

NewArray creates a Duration array from the memory buffers used by the builder and resets the DurationBuilder so it can be used to build a new array.

func (*DurationBuilder) NewDurationArray

func (b *DurationBuilder) NewDurationArray() (a *Duration)

NewDurationArray creates a Duration array from the memory buffers used by the builder and resets the DurationBuilder so it can be used to build a new array.

func (*DurationBuilder) NullN

func (b *DurationBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*DurationBuilder) Release

func (b *DurationBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*DurationBuilder) Reserve

func (b *DurationBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*DurationBuilder) Resize

func (b *DurationBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*DurationBuilder) Retain

func (b *DurationBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*DurationBuilder) UnmarshalJSON

func (b *DurationBuilder) UnmarshalJSON(data []byte) error

func (*DurationBuilder) UnsafeAppend

func (b *DurationBuilder) UnsafeAppend(v arrow.Duration)

func (*DurationBuilder) UnsafeAppendBoolToBitmap

func (b *DurationBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type EqualOption

type EqualOption func(*equalOption)

EqualOption is a functional option type used to configure how Records and Arrays are compared.

func WithAbsTolerance

func WithAbsTolerance(atol float64) EqualOption

WithAbsTolerance configures the comparison functions so that 2 floating point values v1 and v2 are considered equal if |v1-v2| <= atol.

func WithNaNsEqual

func WithNaNsEqual(v bool) EqualOption

WithNaNsEqual configures the comparison functions so that NaNs are considered equal.

type ExtensionArray

type ExtensionArray interface {
	arrow.Array
	// ExtensionType returns the datatype as per calling DataType(), but
	// already cast to ExtensionType
	ExtensionType() arrow.ExtensionType
	// Storage returns the underlying storage array for this array.
	Storage() arrow.Array
	// contains filtered or unexported methods
}

ExtensionArray is the interface that needs to be implemented to handle user-defined extension type arrays. In order to ensure consistency and proper behavior, all ExtensionArray types must embed ExtensionArrayBase in order to meet the interface which provides the default implementation and handling for the array while allowing custom behavior to be built on top of it.

func NewExtensionData

func NewExtensionData(data arrow.ArrayData) ExtensionArray

NewExtensionData expects a data with a datatype of arrow.ExtensionType and underlying data built for the storage array.

type ExtensionArrayBase

type ExtensionArrayBase struct {
	// contains filtered or unexported fields
}

ExtensionArrayBase is the base struct for user-defined Extension Array types and must be embedded in any user-defined extension arrays like so:

type UserDefinedArray struct {
    array.ExtensionArrayBase
}

func (*ExtensionArrayBase) Data

func (a *ExtensionArrayBase) Data() arrow.ArrayData

func (*ExtensionArrayBase) DataType

func (a *ExtensionArrayBase) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*ExtensionArrayBase) ExtensionType

func (e *ExtensionArrayBase) ExtensionType() arrow.ExtensionType

ExtensionType returns the same thing as DataType, just already casted to an ExtensionType interface for convenience.

func (*ExtensionArrayBase) IsNull

func (a *ExtensionArrayBase) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*ExtensionArrayBase) IsValid

func (a *ExtensionArrayBase) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*ExtensionArrayBase) Len

func (a *ExtensionArrayBase) Len() int

Len returns the number of elements in the array.

func (*ExtensionArrayBase) MarshalJSON

func (e *ExtensionArrayBase) MarshalJSON() ([]byte, error)

func (*ExtensionArrayBase) NullBitmapBytes

func (a *ExtensionArrayBase) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*ExtensionArrayBase) NullN

func (a *ExtensionArrayBase) NullN() int

NullN returns the number of null values in the array.

func (*ExtensionArrayBase) Offset

func (a *ExtensionArrayBase) Offset() int

func (*ExtensionArrayBase) Release

func (e *ExtensionArrayBase) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*ExtensionArrayBase) Retain

func (e *ExtensionArrayBase) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*ExtensionArrayBase) Storage

func (e *ExtensionArrayBase) Storage() arrow.Array

Storage returns the underlying storage array

type ExtensionBuilder

type ExtensionBuilder struct {
	Builder
	// contains filtered or unexported fields
}

ExtensionBuilder is a convenience builder so that NewBuilder and such will still work with extension types properly. Depending on preference it may be cleaner or easier to just use NewExtensionArrayWithStorage and pass a storage array.

That said, this allows easily building an extension array by providing the extension type and retrieving the storage builder.

func NewExtensionBuilder

func NewExtensionBuilder(mem memory.Allocator, dt arrow.ExtensionType) *ExtensionBuilder

NewExtensionBuilder returns a builder using the provided memory allocator for the desired extension type. It will internally construct a builder of the storage type for the extension type and keep a copy of the extension type. The underlying type builder can then be retrieved by calling `StorageBuilder` on this and then type asserting it to the desired builder type.

After using the storage builder, calling NewArray or NewExtensionArray will construct the appropriate extension array type and set the storage correctly, resetting the builder for reuse.

Example

Simple example assuming an extension type of a UUID defined as a FixedSizeBinary(16) was registered using the type name "uuid":

uuidType := arrow.GetExtensionType("uuid")
bldr := array.NewExtensionBuilder(memory.DefaultAllocator, uuidType)
defer bldr.Release()
uuidBldr := bldr.StorageBuilder().(*array.FixedSizeBinaryBuilder)
/* build up the fixed size binary array as usual via Append/AppendValues */
uuidArr := bldr.NewExtensionArray()
defer uuidArr.Release()

Because the storage builder is embedded in the Extension builder it also means that any of the functions available on the Builder interface can be called on an instance of ExtensionBuilder and will respond appropriately as the storage builder would for generically grabbing the Lenth, Cap, Nulls, reserving, etc.

func (*ExtensionBuilder) NewArray

func (b *ExtensionBuilder) NewArray() arrow.Array

NewArray creates a new array from the memory buffers used by the builder and resets the builder so it can be used to build a new array.

func (*ExtensionBuilder) NewExtensionArray

func (b *ExtensionBuilder) NewExtensionArray() ExtensionArray

NewExtensionArray creates an Extension array from the memory buffers used by the builder and resets the ExtensionBuilder so it can be used to build a new ExtensionArray of the same type.

func (*ExtensionBuilder) StorageBuilder

func (b *ExtensionBuilder) StorageBuilder() Builder

StorageBuilder returns the builder for the underlying storage type.

type FixedSizeBinary

type FixedSizeBinary struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of fixed-length binary strings.

func NewFixedSizeBinaryData

func NewFixedSizeBinaryData(data arrow.ArrayData) *FixedSizeBinary

NewFixedSizeBinaryData constructs a new fixed-size binary array from data.

func (*FixedSizeBinary) Data

func (a *FixedSizeBinary) Data() arrow.ArrayData

func (*FixedSizeBinary) DataType

func (a *FixedSizeBinary) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*FixedSizeBinary) IsNull

func (a *FixedSizeBinary) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*FixedSizeBinary) IsValid

func (a *FixedSizeBinary) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*FixedSizeBinary) Len

func (a *FixedSizeBinary) Len() int

Len returns the number of elements in the array.

func (*FixedSizeBinary) MarshalJSON

func (a *FixedSizeBinary) MarshalJSON() ([]byte, error)

func (*FixedSizeBinary) NullBitmapBytes

func (a *FixedSizeBinary) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*FixedSizeBinary) NullN

func (a *FixedSizeBinary) NullN() int

NullN returns the number of null values in the array.

func (*FixedSizeBinary) Offset

func (a *FixedSizeBinary) Offset() int

func (*FixedSizeBinary) Release

func (a *FixedSizeBinary) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*FixedSizeBinary) Retain

func (a *FixedSizeBinary) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*FixedSizeBinary) String

func (a *FixedSizeBinary) String() string

func (*FixedSizeBinary) Value

func (a *FixedSizeBinary) Value(i int) []byte

Value returns the fixed-size slice at index i. This value should not be mutated.

type FixedSizeBinaryBuilder

type FixedSizeBinaryBuilder struct {
	// contains filtered or unexported fields
}

A FixedSizeBinaryBuilder is used to build a FixedSizeBinary array using the Append methods.

func (*FixedSizeBinaryBuilder) Append

func (b *FixedSizeBinaryBuilder) Append(v []byte)

func (*FixedSizeBinaryBuilder) AppendNull

func (b *FixedSizeBinaryBuilder) AppendNull()

func (*FixedSizeBinaryBuilder) AppendValues

func (b *FixedSizeBinaryBuilder) AppendValues(v [][]byte, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*FixedSizeBinaryBuilder) Cap

func (b *FixedSizeBinaryBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*FixedSizeBinaryBuilder) Len

func (b *FixedSizeBinaryBuilder) Len() int

Len returns the number of elements in the array builder.

func (*FixedSizeBinaryBuilder) NewArray

func (b *FixedSizeBinaryBuilder) NewArray() arrow.Array

NewArray creates a FixedSizeBinary array from the memory buffers used by the builder and resets the FixedSizeBinaryBuilder so it can be used to build a new array.

func (*FixedSizeBinaryBuilder) NewFixedSizeBinaryArray

func (b *FixedSizeBinaryBuilder) NewFixedSizeBinaryArray() (a *FixedSizeBinary)

NewFixedSizeBinaryArray creates a FixedSizeBinary array from the memory buffers used by the builder and resets the FixedSizeBinaryBuilder so it can be used to build a new array.

func (*FixedSizeBinaryBuilder) NullN

func (b *FixedSizeBinaryBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*FixedSizeBinaryBuilder) Release

func (b *FixedSizeBinaryBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed. Release may be called simultaneously from multiple goroutines.

func (*FixedSizeBinaryBuilder) Reserve

func (b *FixedSizeBinaryBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*FixedSizeBinaryBuilder) Resize

func (b *FixedSizeBinaryBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*FixedSizeBinaryBuilder) Retain

func (b *FixedSizeBinaryBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*FixedSizeBinaryBuilder) UnmarshalJSON

func (b *FixedSizeBinaryBuilder) UnmarshalJSON(data []byte) error

func (*FixedSizeBinaryBuilder) UnsafeAppendBoolToBitmap

func (b *FixedSizeBinaryBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type FixedSizeList

type FixedSizeList struct {
	// contains filtered or unexported fields
}

FixedSizeList represents an immutable sequence of N array values.

func NewFixedSizeListData

func NewFixedSizeListData(data arrow.ArrayData) *FixedSizeList

NewFixedSizeListData returns a new List array value, from data.

func (*FixedSizeList) Data

func (a *FixedSizeList) Data() arrow.ArrayData

func (*FixedSizeList) DataType

func (a *FixedSizeList) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*FixedSizeList) IsNull

func (a *FixedSizeList) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*FixedSizeList) IsValid

func (a *FixedSizeList) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*FixedSizeList) Len

func (a *FixedSizeList) Len() int

Len returns the number of elements in the array.

func (*FixedSizeList) ListValues

func (a *FixedSizeList) ListValues() arrow.Array

func (*FixedSizeList) MarshalJSON

func (a *FixedSizeList) MarshalJSON() ([]byte, error)

func (*FixedSizeList) NullBitmapBytes

func (a *FixedSizeList) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*FixedSizeList) NullN

func (a *FixedSizeList) NullN() int

NullN returns the number of null values in the array.

func (*FixedSizeList) Offset

func (a *FixedSizeList) Offset() int

func (*FixedSizeList) Release

func (a *FixedSizeList) Release()

func (*FixedSizeList) Retain

func (a *FixedSizeList) Retain()

func (*FixedSizeList) String

func (a *FixedSizeList) String() string

type FixedSizeListBuilder

type FixedSizeListBuilder struct {
	// contains filtered or unexported fields
}

func NewFixedSizeListBuilder

func NewFixedSizeListBuilder(mem memory.Allocator, n int32, etype arrow.DataType) *FixedSizeListBuilder

NewFixedSizeListBuilder returns a builder, using the provided memory allocator. The created list builder will create a list whose elements will be of type etype.

func (*FixedSizeListBuilder) Append

func (b *FixedSizeListBuilder) Append(v bool)

func (*FixedSizeListBuilder) AppendNull

func (b *FixedSizeListBuilder) AppendNull()

func (*FixedSizeListBuilder) AppendValues

func (b *FixedSizeListBuilder) AppendValues(valid []bool)

func (*FixedSizeListBuilder) Cap

func (b *FixedSizeListBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*FixedSizeListBuilder) Len

func (b *FixedSizeListBuilder) Len() int

Len returns the number of elements in the array builder.

func (*FixedSizeListBuilder) NewArray

func (b *FixedSizeListBuilder) NewArray() arrow.Array

NewArray creates a List array from the memory buffers used by the builder and resets the FixedSizeListBuilder so it can be used to build a new array.

func (*FixedSizeListBuilder) NewListArray

func (b *FixedSizeListBuilder) NewListArray() (a *FixedSizeList)

NewListArray creates a List array from the memory buffers used by the builder and resets the FixedSizeListBuilder so it can be used to build a new array.

func (*FixedSizeListBuilder) NullN

func (b *FixedSizeListBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*FixedSizeListBuilder) Release

func (b *FixedSizeListBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*FixedSizeListBuilder) Reserve

func (b *FixedSizeListBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*FixedSizeListBuilder) Resize

func (b *FixedSizeListBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*FixedSizeListBuilder) Retain

func (b *FixedSizeListBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*FixedSizeListBuilder) UnmarshalJSON

func (b *FixedSizeListBuilder) UnmarshalJSON(data []byte) error

func (*FixedSizeListBuilder) UnsafeAppendBoolToBitmap

func (b *FixedSizeListBuilder) UnsafeAppendBoolToBitmap(isValid bool)

func (*FixedSizeListBuilder) ValueBuilder

func (b *FixedSizeListBuilder) ValueBuilder() Builder

type Float16

type Float16 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of Float16 values.

func NewFloat16Data

func NewFloat16Data(data arrow.ArrayData) *Float16

func (*Float16) Data

func (a *Float16) Data() arrow.ArrayData

func (*Float16) DataType

func (a *Float16) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Float16) IsNull

func (a *Float16) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Float16) IsValid

func (a *Float16) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Float16) Len

func (a *Float16) Len() int

Len returns the number of elements in the array.

func (*Float16) MarshalJSON

func (a *Float16) MarshalJSON() ([]byte, error)

func (*Float16) NullBitmapBytes

func (a *Float16) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Float16) NullN

func (a *Float16) NullN() int

NullN returns the number of null values in the array.

func (*Float16) Offset

func (a *Float16) Offset() int

func (*Float16) Release

func (a *Float16) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Float16) Retain

func (a *Float16) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Float16) String

func (a *Float16) String() string

func (*Float16) Value

func (a *Float16) Value(i int) float16.Num

func (*Float16) Values

func (a *Float16) Values() []float16.Num

type Float16Builder

type Float16Builder struct {
	// contains filtered or unexported fields
}

func NewFloat16Builder

func NewFloat16Builder(mem memory.Allocator) *Float16Builder

func (*Float16Builder) Append

func (b *Float16Builder) Append(v float16.Num)

func (*Float16Builder) AppendNull

func (b *Float16Builder) AppendNull()

func (*Float16Builder) AppendValues

func (b *Float16Builder) AppendValues(v []float16.Num, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Float16Builder) Cap

func (b *Float16Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Float16Builder) Len

func (b *Float16Builder) Len() int

Len returns the number of elements in the array builder.

func (*Float16Builder) NewArray

func (b *Float16Builder) NewArray() arrow.Array

NewArray creates a Float16 array from the memory buffers used by the builder and resets the Float16Builder so it can be used to build a new array.

func (*Float16Builder) NewFloat16Array

func (b *Float16Builder) NewFloat16Array() (a *Float16)

NewFloat16Array creates a Float16 array from the memory buffers used by the builder and resets the Float16Builder so it can be used to build a new array.

func (*Float16Builder) NullN

func (b *Float16Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Float16Builder) Release

func (b *Float16Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Float16Builder) Reserve

func (b *Float16Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Float16Builder) Resize

func (b *Float16Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Float16Builder) Retain

func (b *Float16Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Float16Builder) UnmarshalJSON

func (b *Float16Builder) UnmarshalJSON(data []byte) error

UnmarshalJSON will add values to this builder from unmarshalling the array of values. Currently values that are larger than a float16 will be silently truncated.

func (*Float16Builder) UnsafeAppend

func (b *Float16Builder) UnsafeAppend(v float16.Num)

func (*Float16Builder) UnsafeAppendBoolToBitmap

func (b *Float16Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Float32

type Float32 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of float32 values.

func NewFloat32Data

func NewFloat32Data(data arrow.ArrayData) *Float32

NewFloat32Data creates a new Float32.

func (*Float32) Data

func (a *Float32) Data() arrow.ArrayData

func (*Float32) DataType

func (a *Float32) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Float32) Float32Values

func (a *Float32) Float32Values() []float32

Values returns the values.

func (*Float32) IsNull

func (a *Float32) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Float32) IsValid

func (a *Float32) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Float32) Len

func (a *Float32) Len() int

Len returns the number of elements in the array.

func (*Float32) MarshalJSON

func (a *Float32) MarshalJSON() ([]byte, error)

func (*Float32) NullBitmapBytes

func (a *Float32) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Float32) NullN

func (a *Float32) NullN() int

NullN returns the number of null values in the array.

func (*Float32) Offset

func (a *Float32) Offset() int

func (*Float32) Release

func (a *Float32) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Float32) Reset

func (a *Float32) Reset(data *Data)

Reset resets the array for re-use.

func (*Float32) Retain

func (a *Float32) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Float32) String

func (a *Float32) String() string

String returns a string representation of the array.

func (*Float32) Value

func (a *Float32) Value(i int) float32

Value returns the value at the specified index.

type Float32Builder

type Float32Builder struct {
	// contains filtered or unexported fields
}

func NewFloat32Builder

func NewFloat32Builder(mem memory.Allocator) *Float32Builder

func (*Float32Builder) Append

func (b *Float32Builder) Append(v float32)

func (*Float32Builder) AppendNull

func (b *Float32Builder) AppendNull()

func (*Float32Builder) AppendValues

func (b *Float32Builder) AppendValues(v []float32, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Float32Builder) Cap

func (b *Float32Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Float32Builder) Len

func (b *Float32Builder) Len() int

Len returns the number of elements in the array builder.

func (*Float32Builder) NewArray

func (b *Float32Builder) NewArray() arrow.Array

NewArray creates a Float32 array from the memory buffers used by the builder and resets the Float32Builder so it can be used to build a new array.

func (*Float32Builder) NewFloat32Array

func (b *Float32Builder) NewFloat32Array() (a *Float32)

NewFloat32Array creates a Float32 array from the memory buffers used by the builder and resets the Float32Builder so it can be used to build a new array.

func (*Float32Builder) NullN

func (b *Float32Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Float32Builder) Release

func (b *Float32Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Float32Builder) Reserve

func (b *Float32Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Float32Builder) Resize

func (b *Float32Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Float32Builder) Retain

func (b *Float32Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Float32Builder) UnmarshalJSON

func (b *Float32Builder) UnmarshalJSON(data []byte) error

func (*Float32Builder) UnsafeAppend

func (b *Float32Builder) UnsafeAppend(v float32)

func (*Float32Builder) UnsafeAppendBoolToBitmap

func (b *Float32Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Float64

type Float64 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of float64 values.

func NewFloat64Data

func NewFloat64Data(data arrow.ArrayData) *Float64

NewFloat64Data creates a new Float64.

func (*Float64) Data

func (a *Float64) Data() arrow.ArrayData

func (*Float64) DataType

func (a *Float64) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Float64) Float64Values

func (a *Float64) Float64Values() []float64

Values returns the values.

func (*Float64) IsNull

func (a *Float64) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Float64) IsValid

func (a *Float64) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Float64) Len

func (a *Float64) Len() int

Len returns the number of elements in the array.

func (*Float64) MarshalJSON

func (a *Float64) MarshalJSON() ([]byte, error)

func (*Float64) NullBitmapBytes

func (a *Float64) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Float64) NullN

func (a *Float64) NullN() int

NullN returns the number of null values in the array.

func (*Float64) Offset

func (a *Float64) Offset() int

func (*Float64) Release

func (a *Float64) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Float64) Reset

func (a *Float64) Reset(data *Data)

Reset resets the array for re-use.

func (*Float64) Retain

func (a *Float64) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Float64) String

func (a *Float64) String() string

String returns a string representation of the array.

func (*Float64) Value

func (a *Float64) Value(i int) float64

Value returns the value at the specified index.

type Float64Builder

type Float64Builder struct {
	// contains filtered or unexported fields
}

func NewFloat64Builder

func NewFloat64Builder(mem memory.Allocator) *Float64Builder

func (*Float64Builder) Append

func (b *Float64Builder) Append(v float64)

func (*Float64Builder) AppendNull

func (b *Float64Builder) AppendNull()

func (*Float64Builder) AppendValues

func (b *Float64Builder) AppendValues(v []float64, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Float64Builder) Cap

func (b *Float64Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Float64Builder) Len

func (b *Float64Builder) Len() int

Len returns the number of elements in the array builder.

func (*Float64Builder) NewArray

func (b *Float64Builder) NewArray() arrow.Array

NewArray creates a Float64 array from the memory buffers used by the builder and resets the Float64Builder so it can be used to build a new array.

func (*Float64Builder) NewFloat64Array

func (b *Float64Builder) NewFloat64Array() (a *Float64)

NewFloat64Array creates a Float64 array from the memory buffers used by the builder and resets the Float64Builder so it can be used to build a new array.

func (*Float64Builder) NullN

func (b *Float64Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Float64Builder) Release

func (b *Float64Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Float64Builder) Reserve

func (b *Float64Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Float64Builder) Resize

func (b *Float64Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Float64Builder) Retain

func (b *Float64Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Float64Builder) UnmarshalJSON

func (b *Float64Builder) UnmarshalJSON(data []byte) error

func (*Float64Builder) UnsafeAppend

func (b *Float64Builder) UnsafeAppend(v float64)

func (*Float64Builder) UnsafeAppendBoolToBitmap

func (b *Float64Builder) UnsafeAppendBoolToBitmap(isValid bool)

type FromJSONOption

type FromJSONOption func(*fromJSONCfg)

func WithMultipleDocs

func WithMultipleDocs() FromJSONOption

func WithStartOffset

func WithStartOffset(off int64) FromJSONOption

WithStartOffset attempts to start decoding from the reader at the offset passed in. If using this option the reader must fulfill the io.ReadSeeker interface, or else an error will be returned.

It will call Seek(off, io.SeekStart) on the reader

type Int16

type Int16 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of int16 values.

func NewInt16Data

func NewInt16Data(data arrow.ArrayData) *Int16

NewInt16Data creates a new Int16.

func (*Int16) Data

func (a *Int16) Data() arrow.ArrayData

func (*Int16) DataType

func (a *Int16) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Int16) Int16Values

func (a *Int16) Int16Values() []int16

Values returns the values.

func (*Int16) IsNull

func (a *Int16) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int16) IsValid

func (a *Int16) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int16) Len

func (a *Int16) Len() int

Len returns the number of elements in the array.

func (*Int16) MarshalJSON

func (a *Int16) MarshalJSON() ([]byte, error)

func (*Int16) NullBitmapBytes

func (a *Int16) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Int16) NullN

func (a *Int16) NullN() int

NullN returns the number of null values in the array.

func (*Int16) Offset

func (a *Int16) Offset() int

func (*Int16) Release

func (a *Int16) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Int16) Reset

func (a *Int16) Reset(data *Data)

Reset resets the array for re-use.

func (*Int16) Retain

func (a *Int16) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int16) String

func (a *Int16) String() string

String returns a string representation of the array.

func (*Int16) Value

func (a *Int16) Value(i int) int16

Value returns the value at the specified index.

type Int16Builder

type Int16Builder struct {
	// contains filtered or unexported fields
}

func NewInt16Builder

func NewInt16Builder(mem memory.Allocator) *Int16Builder

func (*Int16Builder) Append

func (b *Int16Builder) Append(v int16)

func (*Int16Builder) AppendNull

func (b *Int16Builder) AppendNull()

func (*Int16Builder) AppendValues

func (b *Int16Builder) AppendValues(v []int16, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Int16Builder) Cap

func (b *Int16Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Int16Builder) Len

func (b *Int16Builder) Len() int

Len returns the number of elements in the array builder.

func (*Int16Builder) NewArray

func (b *Int16Builder) NewArray() arrow.Array

NewArray creates a Int16 array from the memory buffers used by the builder and resets the Int16Builder so it can be used to build a new array.

func (*Int16Builder) NewInt16Array

func (b *Int16Builder) NewInt16Array() (a *Int16)

NewInt16Array creates a Int16 array from the memory buffers used by the builder and resets the Int16Builder so it can be used to build a new array.

func (*Int16Builder) NullN

func (b *Int16Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Int16Builder) Release

func (b *Int16Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Int16Builder) Reserve

func (b *Int16Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Int16Builder) Resize

func (b *Int16Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Int16Builder) Retain

func (b *Int16Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int16Builder) UnmarshalJSON

func (b *Int16Builder) UnmarshalJSON(data []byte) error

func (*Int16Builder) UnsafeAppend

func (b *Int16Builder) UnsafeAppend(v int16)

func (*Int16Builder) UnsafeAppendBoolToBitmap

func (b *Int16Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Int32

type Int32 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of int32 values.

func NewInt32Data

func NewInt32Data(data arrow.ArrayData) *Int32

NewInt32Data creates a new Int32.

func (*Int32) Data

func (a *Int32) Data() arrow.ArrayData

func (*Int32) DataType

func (a *Int32) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Int32) Int32Values

func (a *Int32) Int32Values() []int32

Values returns the values.

func (*Int32) IsNull

func (a *Int32) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int32) IsValid

func (a *Int32) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int32) Len

func (a *Int32) Len() int

Len returns the number of elements in the array.

func (*Int32) MarshalJSON

func (a *Int32) MarshalJSON() ([]byte, error)

func (*Int32) NullBitmapBytes

func (a *Int32) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Int32) NullN

func (a *Int32) NullN() int

NullN returns the number of null values in the array.

func (*Int32) Offset

func (a *Int32) Offset() int

func (*Int32) Release

func (a *Int32) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Int32) Reset

func (a *Int32) Reset(data *Data)

Reset resets the array for re-use.

func (*Int32) Retain

func (a *Int32) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int32) String

func (a *Int32) String() string

String returns a string representation of the array.

func (*Int32) Value

func (a *Int32) Value(i int) int32

Value returns the value at the specified index.

type Int32Builder

type Int32Builder struct {
	// contains filtered or unexported fields
}

func NewInt32Builder

func NewInt32Builder(mem memory.Allocator) *Int32Builder

func (*Int32Builder) Append

func (b *Int32Builder) Append(v int32)

func (*Int32Builder) AppendNull

func (b *Int32Builder) AppendNull()

func (*Int32Builder) AppendValues

func (b *Int32Builder) AppendValues(v []int32, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Int32Builder) Cap

func (b *Int32Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Int32Builder) Len

func (b *Int32Builder) Len() int

Len returns the number of elements in the array builder.

func (*Int32Builder) NewArray

func (b *Int32Builder) NewArray() arrow.Array

NewArray creates a Int32 array from the memory buffers used by the builder and resets the Int32Builder so it can be used to build a new array.

func (*Int32Builder) NewInt32Array

func (b *Int32Builder) NewInt32Array() (a *Int32)

NewInt32Array creates a Int32 array from the memory buffers used by the builder and resets the Int32Builder so it can be used to build a new array.

func (*Int32Builder) NullN

func (b *Int32Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Int32Builder) Release

func (b *Int32Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Int32Builder) Reserve

func (b *Int32Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Int32Builder) Resize

func (b *Int32Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Int32Builder) Retain

func (b *Int32Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int32Builder) UnmarshalJSON

func (b *Int32Builder) UnmarshalJSON(data []byte) error

func (*Int32Builder) UnsafeAppend

func (b *Int32Builder) UnsafeAppend(v int32)

func (*Int32Builder) UnsafeAppendBoolToBitmap

func (b *Int32Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Int64

type Int64 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of int64 values.

func NewInt64Data

func NewInt64Data(data arrow.ArrayData) *Int64

NewInt64Data creates a new Int64.

func (*Int64) Data

func (a *Int64) Data() arrow.ArrayData

func (*Int64) DataType

func (a *Int64) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Int64) Int64Values

func (a *Int64) Int64Values() []int64

Values returns the values.

func (*Int64) IsNull

func (a *Int64) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int64) IsValid

func (a *Int64) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int64) Len

func (a *Int64) Len() int

Len returns the number of elements in the array.

func (*Int64) MarshalJSON

func (a *Int64) MarshalJSON() ([]byte, error)

func (*Int64) NullBitmapBytes

func (a *Int64) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Int64) NullN

func (a *Int64) NullN() int

NullN returns the number of null values in the array.

func (*Int64) Offset

func (a *Int64) Offset() int

func (*Int64) Release

func (a *Int64) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Int64) Reset

func (a *Int64) Reset(data *Data)

Reset resets the array for re-use.

func (*Int64) Retain

func (a *Int64) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int64) String

func (a *Int64) String() string

String returns a string representation of the array.

func (*Int64) Value

func (a *Int64) Value(i int) int64

Value returns the value at the specified index.

type Int64Builder

type Int64Builder struct {
	// contains filtered or unexported fields
}

func NewInt64Builder

func NewInt64Builder(mem memory.Allocator) *Int64Builder

func (*Int64Builder) Append

func (b *Int64Builder) Append(v int64)

func (*Int64Builder) AppendNull

func (b *Int64Builder) AppendNull()

func (*Int64Builder) AppendValues

func (b *Int64Builder) AppendValues(v []int64, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Int64Builder) Cap

func (b *Int64Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Int64Builder) Len

func (b *Int64Builder) Len() int

Len returns the number of elements in the array builder.

func (*Int64Builder) NewArray

func (b *Int64Builder) NewArray() arrow.Array

NewArray creates a Int64 array from the memory buffers used by the builder and resets the Int64Builder so it can be used to build a new array.

func (*Int64Builder) NewInt64Array

func (b *Int64Builder) NewInt64Array() (a *Int64)

NewInt64Array creates a Int64 array from the memory buffers used by the builder and resets the Int64Builder so it can be used to build a new array.

func (*Int64Builder) NullN

func (b *Int64Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Int64Builder) Release

func (b *Int64Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Int64Builder) Reserve

func (b *Int64Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Int64Builder) Resize

func (b *Int64Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Int64Builder) Retain

func (b *Int64Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int64Builder) UnmarshalJSON

func (b *Int64Builder) UnmarshalJSON(data []byte) error

func (*Int64Builder) UnsafeAppend

func (b *Int64Builder) UnsafeAppend(v int64)

func (*Int64Builder) UnsafeAppendBoolToBitmap

func (b *Int64Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Int8

type Int8 struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of int8 values.

func NewInt8Data

func NewInt8Data(data arrow.ArrayData) *Int8

NewInt8Data creates a new Int8.

func (*Int8) Data

func (a *Int8) Data() arrow.ArrayData

func (*Int8) DataType

func (a *Int8) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Int8) Int8Values

func (a *Int8) Int8Values() []int8

Values returns the values.

func (*Int8) IsNull

func (a *Int8) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int8) IsValid

func (a *Int8) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Int8) Len

func (a *Int8) Len() int

Len returns the number of elements in the array.

func (*Int8) MarshalJSON

func (a *Int8) MarshalJSON() ([]byte, error)

func (*Int8) NullBitmapBytes

func (a *Int8) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Int8) NullN

func (a *Int8) NullN() int

NullN returns the number of null values in the array.

func (*Int8) Offset

func (a *Int8) Offset() int

func (*Int8) Release

func (a *Int8) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Int8) Reset

func (a *Int8) Reset(data *Data)

Reset resets the array for re-use.

func (*Int8) Retain

func (a *Int8) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int8) String

func (a *Int8) String() string

String returns a string representation of the array.

func (*Int8) Value

func (a *Int8) Value(i int) int8

Value returns the value at the specified index.

type Int8Builder

type Int8Builder struct {
	// contains filtered or unexported fields
}

func NewInt8Builder

func NewInt8Builder(mem memory.Allocator) *Int8Builder

func (*Int8Builder) Append

func (b *Int8Builder) Append(v int8)

func (*Int8Builder) AppendNull

func (b *Int8Builder) AppendNull()

func (*Int8Builder) AppendValues

func (b *Int8Builder) AppendValues(v []int8, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*Int8Builder) Cap

func (b *Int8Builder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*Int8Builder) Len

func (b *Int8Builder) Len() int

Len returns the number of elements in the array builder.

func (*Int8Builder) NewArray

func (b *Int8Builder) NewArray() arrow.Array

NewArray creates a Int8 array from the memory buffers used by the builder and resets the Int8Builder so it can be used to build a new array.

func (*Int8Builder) NewInt8Array

func (b *Int8Builder) NewInt8Array() (a *Int8)

NewInt8Array creates a Int8 array from the memory buffers used by the builder and resets the Int8Builder so it can be used to build a new array.

func (*Int8Builder) NullN

func (b *Int8Builder) NullN() int

NullN returns the number of null values in the array builder.

func (*Int8Builder) Release

func (b *Int8Builder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*Int8Builder) Reserve

func (b *Int8Builder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*Int8Builder) Resize

func (b *Int8Builder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*Int8Builder) Retain

func (b *Int8Builder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Int8Builder) UnmarshalJSON

func (b *Int8Builder) UnmarshalJSON(data []byte) error

func (*Int8Builder) UnsafeAppend

func (b *Int8Builder) UnsafeAppend(v int8)

func (*Int8Builder) UnsafeAppendBoolToBitmap

func (b *Int8Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Interface deprecated

type Interface = arrow.Array

Interface aliases arrow.Array so that existing users don't get broken by the migration to arrow.Array.

Deprecated: This alias will be removed in v8

func NewIntervalData

func NewIntervalData(data arrow.ArrayData) Interface

type JSONReader

type JSONReader struct {
	// contains filtered or unexported fields
}

JSONReader is a json reader that meets the RecordReader interface definition.

To read in an array of objects as a record, you can use RecordFromJSON which is equivalent to reading the json as a struct array whose fields are the columns of the record. This primarily exists to fit the RecordReader interface as a matching reader for the csv reader.

func NewJSONReader

func NewJSONReader(r io.Reader, schema *arrow.Schema, opts ...Option) *JSONReader

NewJSONReader returns a json RecordReader which expects to find one json object per row of dataset. Using WithChunk can control how many rows are processed per record, which is how many objects become a single record from the file.

If it is desired to write out an array of rows, then simply use RecordToStructArray and json.Marshal the struct array for the same effect.

func (*JSONReader) Err

func (r *JSONReader) Err() error

Err returns the last encountered error

func (*JSONReader) Next

func (r *JSONReader) Next() bool

Next returns true if it read in a record, which will be available via Record and false if there is either an error or the end of the reader.

func (*JSONReader) Record

func (r *JSONReader) Record() Record

Record returns the last read in record. The returned record is only valid until the next call to Next unless Retain is called on the record itself.

func (*JSONReader) Release

func (r *JSONReader) Release()

func (*JSONReader) Retain

func (r *JSONReader) Retain()

func (*JSONReader) Schema

func (r *JSONReader) Schema() *arrow.Schema

type List

type List struct {
	// contains filtered or unexported fields
}

List represents an immutable sequence of array values.

func NewListData

func NewListData(data arrow.ArrayData) *List

NewListData returns a new List array value, from data.

func (*List) Data

func (a *List) Data() arrow.ArrayData

func (*List) DataType

func (a *List) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*List) IsNull

func (a *List) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*List) IsValid

func (a *List) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*List) Len

func (a *List) Len() int

Len returns the number of elements in the array.

func (*List) ListValues

func (a *List) ListValues() arrow.Array

func (*List) MarshalJSON

func (a *List) MarshalJSON() ([]byte, error)

func (*List) NullBitmapBytes

func (a *List) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*List) NullN

func (a *List) NullN() int

NullN returns the number of null values in the array.

func (*List) Offset

func (a *List) Offset() int

func (*List) Offsets

func (a *List) Offsets() []int32

func (*List) Release

func (a *List) Release()

func (*List) Retain

func (a *List) Retain()

func (*List) String

func (a *List) String() string

type ListBuilder

type ListBuilder struct {
	// contains filtered or unexported fields
}

func NewListBuilder

func NewListBuilder(mem memory.Allocator, etype arrow.DataType) *ListBuilder

NewListBuilder returns a builder, using the provided memory allocator. The created list builder will create a list whose elements will be of type etype.

func (*ListBuilder) Append

func (b *ListBuilder) Append(v bool)

func (*ListBuilder) AppendNull

func (b *ListBuilder) AppendNull()

func (*ListBuilder) AppendValues

func (b *ListBuilder) AppendValues(offsets []int32, valid []bool)

func (*ListBuilder) Cap

func (b *ListBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*ListBuilder) Len

func (b *ListBuilder) Len() int

Len returns the number of elements in the array builder.

func (*ListBuilder) NewArray

func (b *ListBuilder) NewArray() arrow.Array

NewArray creates a List array from the memory buffers used by the builder and resets the ListBuilder so it can be used to build a new array.

func (*ListBuilder) NewListArray

func (b *ListBuilder) NewListArray() (a *List)

NewListArray creates a List array from the memory buffers used by the builder and resets the ListBuilder so it can be used to build a new array.

func (*ListBuilder) NullN

func (b *ListBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*ListBuilder) Release

func (b *ListBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*ListBuilder) Reserve

func (b *ListBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*ListBuilder) Resize

func (b *ListBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*ListBuilder) Retain

func (b *ListBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*ListBuilder) UnmarshalJSON

func (b *ListBuilder) UnmarshalJSON(data []byte) error

func (*ListBuilder) UnsafeAppendBoolToBitmap

func (b *ListBuilder) UnsafeAppendBoolToBitmap(isValid bool)

func (*ListBuilder) ValueBuilder

func (b *ListBuilder) ValueBuilder() Builder

type Map

type Map struct {
	*List
	// contains filtered or unexported fields
}

Map represents an immutable sequence of Key/Value structs. It is a logical type that is implemented as a List<Struct: key, value>.

func NewMapData

func NewMapData(data arrow.ArrayData) *Map

NewMapData returns a new Map array value, from data

func (Map) Data

func (a Map) Data() arrow.ArrayData

func (Map) DataType

func (a Map) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (Map) IsNull

func (a Map) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (Map) IsValid

func (a Map) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Map) Items

func (a *Map) Items() arrow.Array

Items returns the full Array of Item values, equivalent to grabbing the Value field (the second field) of the child struct.

func (*Map) Keys

func (a *Map) Keys() arrow.Array

Keys returns the full Array of Key values, equivalent to grabbing the key field of the child struct.

func (*Map) KeysSorted

func (a *Map) KeysSorted() bool

KeysSorted checks the datatype that was used to construct this array and returns the KeysSorted boolean value used to denote if the key array is sorted for each list element.

Important note: Nothing is enforced regarding the KeysSorted value, it is solely a metadata field that should be set if keys within each value are sorted. This value is not used at all in regards to comparisons / equality.

func (Map) NullBitmapBytes

func (a Map) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (Map) NullN

func (a Map) NullN() int

NullN returns the number of null values in the array.

func (Map) Offset

func (a Map) Offset() int

func (*Map) Release

func (a *Map) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Map) Retain

func (a *Map) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

type MapBuilder

type MapBuilder struct {
	// contains filtered or unexported fields
}

func NewMapBuilder

func NewMapBuilder(mem memory.Allocator, keytype, itemtype arrow.DataType, keysSorted bool) *MapBuilder

NewMapBuilder returns a builder, using the provided memory allocator. The created Map builder will create a map array whose keys will be a non-nullable array of type `keytype` and whose mapped items will be a nullable array of itemtype.

KeysSorted is not enforced at all by the builder, it should only be set to true building using keys in sorted order for each value. The KeysSorted value will just be used when creating the DataType for the map.

Example

Simple example provided of converting a []map[string]int32 to an array.Map by using a MapBuilder:

/* assume maplist == []map[string]int32 */
bldr := array.NewMapBuilder(memory.DefaultAllocator, arrow.BinaryTypes.String, arrow.PrimitiveTypes.Int32, false)
defer bldr.Release()
kb := bldr.KeyBuilder().(*array.StringBuilder)
ib := bldr.ItemBuilder().(*array.Int32Builder)
for _, m := range maplist {
    bldr.Append(true)
    for k, v := range m {
         kb.Append(k)
         ib.Append(v)
    }
}
maparr := bldr.NewMapArray()
defer maparr.Release()

func (*MapBuilder) Append

func (b *MapBuilder) Append(v bool)

Append adds a new Map element to the array, calling Append(false) is equivalent to calling AppendNull.

func (*MapBuilder) AppendNull

func (b *MapBuilder) AppendNull()

AppendNull adds a null map entry to the array.

func (*MapBuilder) AppendValues

func (b *MapBuilder) AppendValues(offsets []int32, valid []bool)

AppendValues is for bulk appending a group of elements with offsets provided and validity booleans provided.

func (*MapBuilder) Cap

func (b *MapBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*MapBuilder) ItemBuilder

func (b *MapBuilder) ItemBuilder() Builder

ItemBuilder returns a builder that can be used to populate the values that the keys point to.

func (*MapBuilder) KeyBuilder

func (b *MapBuilder) KeyBuilder() Builder

KeyBuilder returns a builder that can be used to populate the keys of the maps.

func (*MapBuilder) Len

func (b *MapBuilder) Len() int

Len returns the current number of Maps that are in the builder

func (*MapBuilder) NewArray

func (b *MapBuilder) NewArray() arrow.Array

NewArray creates a new Map array from the memory buffers used by the builder, and resets the builder so it can be used again to build a new Map array.

func (*MapBuilder) NewMapArray

func (b *MapBuilder) NewMapArray() (a *Map)

NewMapArray creates a new Map array from the memory buffers used by the builder, and resets the builder so it can be used again to build a new Map array.

func (*MapBuilder) NullN

func (b *MapBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*MapBuilder) Release

func (b *MapBuilder) Release()

Release decreases the reference count by 1 for the sub builders (list, key, item).

func (*MapBuilder) Reserve

func (b *MapBuilder) Reserve(n int)

Reserve enough space for n maps

func (*MapBuilder) Resize

func (b *MapBuilder) Resize(n int)

Resize adjust the space allocated by b to n map elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may be reduced.

func (*MapBuilder) Retain

func (b *MapBuilder) Retain()

Retain increases the reference count by 1 for the sub-builders (list, key, item). Retain may be called simultaneously from multiple goroutines.

func (*MapBuilder) UnmarshalJSON

func (b *MapBuilder) UnmarshalJSON(data []byte) error

func (*MapBuilder) ValueBuilder

func (b *MapBuilder) ValueBuilder() *StructBuilder

ValueBuilder can be used instead of separately using the Key/Item builders to build the list as a List of Structs rather than building the keys/items separately.

type MonthDayNanoInterval

type MonthDayNanoInterval struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of arrow.DayTimeInterval values.

func NewMonthDayNanoIntervalData

func NewMonthDayNanoIntervalData(data arrow.ArrayData) *MonthDayNanoInterval

func (*MonthDayNanoInterval) Data

func (a *MonthDayNanoInterval) Data() arrow.ArrayData

func (*MonthDayNanoInterval) DataType

func (a *MonthDayNanoInterval) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*MonthDayNanoInterval) IsNull

func (a *MonthDayNanoInterval) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*MonthDayNanoInterval) IsValid

func (a *MonthDayNanoInterval) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*MonthDayNanoInterval) Len

func (a *MonthDayNanoInterval) Len() int

Len returns the number of elements in the array.

func (*MonthDayNanoInterval) MarshalJSON

func (a *MonthDayNanoInterval) MarshalJSON() ([]byte, error)

MarshalJSON will marshal this array to a JSON array with elements marshalled to the form {"months": #, "days": #, "nanoseconds": #}

func (*MonthDayNanoInterval) MonthDayNanoIntervalValues

func (a *MonthDayNanoInterval) MonthDayNanoIntervalValues() []arrow.MonthDayNanoInterval

func (*MonthDayNanoInterval) NullBitmapBytes

func (a *MonthDayNanoInterval) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*MonthDayNanoInterval) NullN

func (a *MonthDayNanoInterval) NullN() int

NullN returns the number of null values in the array.

func (*MonthDayNanoInterval) Offset

func (a *MonthDayNanoInterval) Offset() int

func (*MonthDayNanoInterval) Release

func (a *MonthDayNanoInterval) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*MonthDayNanoInterval) Retain

func (a *MonthDayNanoInterval) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*MonthDayNanoInterval) String

func (a *MonthDayNanoInterval) String() string

func (*MonthDayNanoInterval) Value

type MonthDayNanoIntervalBuilder

type MonthDayNanoIntervalBuilder struct {
	// contains filtered or unexported fields
}

func NewMonthDayNanoIntervalBuilder

func NewMonthDayNanoIntervalBuilder(mem memory.Allocator) *MonthDayNanoIntervalBuilder

func (*MonthDayNanoIntervalBuilder) Append

func (*MonthDayNanoIntervalBuilder) AppendNull

func (b *MonthDayNanoIntervalBuilder) AppendNull()

func (*MonthDayNanoIntervalBuilder) AppendValues

func (b *MonthDayNanoIntervalBuilder) AppendValues(v []arrow.MonthDayNanoInterval, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*MonthDayNanoIntervalBuilder) Cap

func (b *MonthDayNanoIntervalBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*MonthDayNanoIntervalBuilder) Len

func (b *MonthDayNanoIntervalBuilder) Len() int

Len returns the number of elements in the array builder.

func (*MonthDayNanoIntervalBuilder) NewArray

func (b *MonthDayNanoIntervalBuilder) NewArray() arrow.Array

NewArray creates a MonthDayNanoInterval array from the memory buffers used by the builder and resets the MonthDayNanoIntervalBuilder so it can be used to build a new array.

func (*MonthDayNanoIntervalBuilder) NewMonthDayNanoIntervalArray

func (b *MonthDayNanoIntervalBuilder) NewMonthDayNanoIntervalArray() (a *MonthDayNanoInterval)

NewMonthDayNanoIntervalArray creates a MonthDayNanoInterval array from the memory buffers used by the builder and resets the MonthDayNanoIntervalBuilder so it can be used to build a new array.

func (*MonthDayNanoIntervalBuilder) NullN

func (b *MonthDayNanoIntervalBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*MonthDayNanoIntervalBuilder) Release

func (b *MonthDayNanoIntervalBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*MonthDayNanoIntervalBuilder) Reserve

func (b *MonthDayNanoIntervalBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*MonthDayNanoIntervalBuilder) Resize

func (b *MonthDayNanoIntervalBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*MonthDayNanoIntervalBuilder) Retain

func (b *MonthDayNanoIntervalBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*MonthDayNanoIntervalBuilder) UnmarshalJSON

func (b *MonthDayNanoIntervalBuilder) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals a JSON array of objects and adds them to this builder, each element of the array is expected to be an object of the form {"months": #, "days": #, "nanoseconds": #}

func (*MonthDayNanoIntervalBuilder) UnsafeAppend

func (*MonthDayNanoIntervalBuilder) UnsafeAppendBoolToBitmap

func (b *MonthDayNanoIntervalBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type MonthInterval

type MonthInterval struct {
	// contains filtered or unexported fields
}

A type which represents an immutable sequence of arrow.MonthInterval values.

func NewMonthIntervalData

func NewMonthIntervalData(data arrow.ArrayData) *MonthInterval

func (*MonthInterval) Data

func (a *MonthInterval) Data() arrow.ArrayData

func (*MonthInterval) DataType

func (a *MonthInterval) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*MonthInterval) IsNull

func (a *MonthInterval) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*MonthInterval) IsValid

func (a *MonthInterval) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*MonthInterval) Len

func (a *MonthInterval) Len() int

Len returns the number of elements in the array.

func (*MonthInterval) MarshalJSON

func (a *MonthInterval) MarshalJSON() ([]byte, error)

MarshalJSON will create a json array out of a MonthInterval array, each value will be an object of the form {"months": #} where # is the numeric value of that index

func (*MonthInterval) MonthIntervalValues

func (a *MonthInterval) MonthIntervalValues() []arrow.MonthInterval

func (*MonthInterval) NullBitmapBytes

func (a *MonthInterval) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*MonthInterval) NullN

func (a *MonthInterval) NullN() int

NullN returns the number of null values in the array.

func (*MonthInterval) Offset

func (a *MonthInterval) Offset() int

func (*MonthInterval) Release

func (a *MonthInterval) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*MonthInterval) Retain

func (a *MonthInterval) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*MonthInterval) String

func (a *MonthInterval) String() string

func (*MonthInterval) Value

func (a *MonthInterval) Value(i int) arrow.MonthInterval

type MonthIntervalBuilder

type MonthIntervalBuilder struct {
	// contains filtered or unexported fields
}

func NewMonthIntervalBuilder

func NewMonthIntervalBuilder(mem memory.Allocator) *MonthIntervalBuilder

func (*MonthIntervalBuilder) Append

func (*MonthIntervalBuilder) AppendNull

func (b *MonthIntervalBuilder) AppendNull()

func (*MonthIntervalBuilder) AppendValues

func (b *MonthIntervalBuilder) AppendValues(v []arrow.MonthInterval, valid []bool)

AppendValues will append the values in the v slice. The valid slice determines which values in v are valid (not null). The valid slice must either be empty or be equal in length to v. If empty, all values in v are appended and considered valid.

func (*MonthIntervalBuilder) Cap

func (b *MonthIntervalBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*MonthIntervalBuilder) Len

func (b *MonthIntervalBuilder) Len() int

Len returns the number of elements in the array builder.

func (*MonthIntervalBuilder) NewArray

func (b *MonthIntervalBuilder) NewArray() arrow.Array

NewArray creates a MonthInterval array from the memory buffers used by the builder and resets the MonthIntervalBuilder so it can be used to build a new array.

func (*MonthIntervalBuilder) NewMonthIntervalArray

func (b *MonthIntervalBuilder) NewMonthIntervalArray() (a *MonthInterval)

NewMonthIntervalArray creates a MonthInterval array from the memory buffers used by the builder and resets the MonthIntervalBuilder so it can be used to build a new array.

func (*MonthIntervalBuilder) NullN

func (b *MonthIntervalBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*MonthIntervalBuilder) Release

func (b *MonthIntervalBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*MonthIntervalBuilder) Reserve

func (b *MonthIntervalBuilder) Reserve(n int)

Reserve ensures there is enough space for appending n elements by checking the capacity and calling Resize if necessary.

func (*MonthIntervalBuilder) Resize

func (b *MonthIntervalBuilder) Resize(n int)

Resize adjusts the space allocated by b to n elements. If n is greater than b.Cap(), additional memory will be allocated. If n is smaller, the allocated memory may reduced.

func (*MonthIntervalBuilder) Retain

func (b *MonthIntervalBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*MonthIntervalBuilder) UnmarshalJSON

func (b *MonthIntervalBuilder) UnmarshalJSON(data []byte) error

UnmarshalJSON will add the unmarshalled values of an array to the builder, values are expected to be strings of the form "#months" where # is the int32 value that will be added to the builder.

func (*MonthIntervalBuilder) UnsafeAppend

func (b *MonthIntervalBuilder) UnsafeAppend(v arrow.MonthInterval)

func (*MonthIntervalBuilder) UnsafeAppendBoolToBitmap

func (b *MonthIntervalBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type Null

type Null struct {
	// contains filtered or unexported fields
}

Null represents an immutable, degenerate array with no physical storage.

func NewNull

func NewNull(n int) *Null

NewNull returns a new Null array value of size n.

func NewNullData

func NewNullData(data arrow.ArrayData) *Null

NewNullData returns a new Null array value, from data.

func (*Null) Data

func (a *Null) Data() arrow.ArrayData

func (*Null) DataType

func (a *Null) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*Null) IsNull

func (a *Null) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Null) IsValid

func (a *Null) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*Null) Len

func (a *Null) Len() int

Len returns the number of elements in the array.

func (*Null) MarshalJSON

func (a *Null) MarshalJSON() ([]byte, error)

func (*Null) NullBitmapBytes

func (a *Null) NullBitmapBytes() []byte

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*Null) NullN

func (a *Null) NullN() int

NullN returns the number of null values in the array.

func (*Null) Offset

func (a *Null) Offset() int

func (*Null) Release

func (a *Null) Release()

Release decreases the reference count by 1. Release may be called simultaneously from multiple goroutines. When the reference count goes to zero, the memory is freed.

func (*Null) Retain

func (a *Null) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*Null) String

func (a *Null) String() string

type NullBuilder

type NullBuilder struct {
	// contains filtered or unexported fields
}

func NewNullBuilder

func NewNullBuilder(mem memory.Allocator) *NullBuilder

NewNullBuilder returns a builder, using the provided memory allocator.

func (*NullBuilder) AppendNull

func (b *NullBuilder) AppendNull()

func (*NullBuilder) Cap

func (b *NullBuilder) Cap() int

Cap returns the total number of elements that can be stored without allocating additional memory.

func (*NullBuilder) Len

func (b *NullBuilder) Len() int

Len returns the number of elements in the array builder.

func (*NullBuilder) NewArray

func (b *NullBuilder) NewArray() arrow.Array

NewArray creates a Null array from the memory buffers used by the builder and resets the NullBuilder so it can be used to build a new array.

func (*NullBuilder) NewNullArray

func (b *NullBuilder) NewNullArray() (a *Null)

NewNullArray creates a Null array from the memory buffers used by the builder and resets the NullBuilder so it can be used to build a new array.

func (*NullBuilder) NullN

func (b *NullBuilder) NullN() int

NullN returns the number of null values in the array builder.

func (*NullBuilder) Release

func (b *NullBuilder) Release()

Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed.

func (*NullBuilder) Reserve

func (*NullBuilder) Reserve(size int)

func (*NullBuilder) Resize

func (*NullBuilder) Resize(size int)

func (*NullBuilder) Retain

func (b *NullBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*NullBuilder) UnmarshalJSON

func (b *NullBuilder) UnmarshalJSON(data []byte) error

func (*NullBuilder) UnsafeAppendBoolToBitmap

func (b *NullBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type Option

type Option func(config)

func WithAllocator

func WithAllocator(mem memory.Allocator) Option

WithAllocator specifies the allocator to use for creating the record batches, if it is not called, then memory.DefaultAllocator will be used.

func WithChunk

func WithChunk(n int) Option

WithChunk sets the chunk size for reading in json records. The default is to read in one row per record batch as a single object. If chunk size is set to a negative value, then the entire file is read as a single record batch. Otherwise a record batch is read in with chunk size rows per record batch until it reaches EOF.

type Record deprecated

type Record = arrow.Record

Record aliases arrow.Record so that existing consumers do not get broken by the migration to arrow.Record.

Deprecated: this alias will be removed in v8

func RecordFromJSON

func RecordFromJSON(mem memory.Allocator, schema *arrow.Schema, r io.Reader, opts ...FromJSONOption) (Record, int64, error)

RecordFromJSON creates a record batch from JSON data. See array.FromJSON for the details of formatting and logic.

A record batch from JSON is equivalent to reading a struct array in from json and then converting it to a record batch.

func RecordFromStructArray

func RecordFromStructArray(in *Struct, schema *arrow.Schema) Record

RecordFromStructArray is a convenience function for converting a struct array into a record batch without copying the data. If the passed in schema is nil, the fields of the struct will be used to define the record batch. Otherwise the passed in schema will be used to create the record batch. If passed in, the schema must match the fields of the struct column.

type RecordBuilder

type RecordBuilder struct {
	// contains filtered or unexported fields
}

RecordBuilder eases the process of building a Record, iteratively, from a known Schema.

func NewRecordBuilder

func NewRecordBuilder(mem memory.Allocator, schema *arrow.Schema) *RecordBuilder

NewRecordBuilder returns a builder, using the provided memory allocator and a schema.

func (*RecordBuilder) Field

func (b *RecordBuilder) Field(i int) Builder

func (*RecordBuilder) Fields

func (b *RecordBuilder) Fields() []Builder

func (*RecordBuilder) NewRecord

func (b *RecordBuilder) NewRecord() Record

NewRecord creates a new record from the memory buffers and resets the RecordBuilder so it can be used to build a new record.

The returned Record must be Release()'d after use.

NewRecord panics if the fields' builder do not have the same length.

func (*RecordBuilder) Release

func (b *RecordBuilder) Release()

Release decreases the reference count by 1.

func (*RecordBuilder) Reserve

func (b *RecordBuilder) Reserve(size int)

func (*RecordBuilder) Retain

func (b *RecordBuilder) Retain()

Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

func (*RecordBuilder) Schema

func (b *RecordBuilder) Schema() *arrow.Schema

func (*RecordBuilder) UnmarshalJSON

func (b *RecordBuilder) UnmarshalJSON(data []byte) error

UnmarshalJSON for record builder will read in a single object and add the values to each field in the recordbuilder, missing fields will get a null and unexpected keys will be ignored. If reading in an array of records as a single batch, then use a structbuilder and use RecordFromStruct.

type RecordReader

type RecordReader interface {
	Retain()
	Release()

	Schema() *arrow.Schema

	Next() bool
	Record() Record
}

RecordReader reads a stream of records.

type String

type String struct {
	// contains filtered or unexported fields
}

String represents an immutable sequence of variable-length UTF-8 strings.

func NewStringData

func NewStringData(data arrow.ArrayData) *String

NewStringData constructs a new String array from data.

func (*String) Data

func (a *String) Data() arrow.ArrayData

func (*String) DataType

func (a *String) DataType() arrow.DataType

DataType returns the type metadata for this instance.

func (*String) IsNull

func (a *String) IsNull(i int) bool

IsNull returns true if value at index is null. NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*String) IsValid

func (a *String) IsValid(i int) bool

IsValid returns true if value at index is not null. NOTE: IsValid will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.

func (*String) Len

func (a *String) Len() int

Len returns the number of elements in