array

package
v0.0.0-...-bc21918 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2021 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 8 more Imports: 17 Imported by: 187

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

This section is empty.

Functions

func ArrayApproxEqual

func ArrayApproxEqual(left, right Interface, 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 Interface) bool

ArrayEqual reports whether the two provided arrays are equal.

func ArraySliceApproxEqual

func ArraySliceApproxEqual(left Interface, lbeg, lend int64, right Interface, 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 Interface, lbeg, lend int64, right Interface, 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 Hash

func Hash(h *maphash.Hash, a *Data)

func NewRecord

func NewRecord(schema *arrow.Schema, cols []Interface, 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 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 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 *Data) *Binary

NewBinaryData constructs a new Binary array from data.

func (*Binary) Data

func (a *Binary) Data() *Data

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) 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() Interface

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) 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 *Data) *Boolean

func (*Boolean) Data

func (a *Boolean) Data() *Data

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) 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() Interface

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) UnsafeAppend

func (b *BooleanBuilder) UnsafeAppend(v bool)

func (*BooleanBuilder) UnsafeAppendBoolToBitmap

func (b *BooleanBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type Builder

type Builder interface {
	// 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() Interface
	// 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

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

Chunked manages a collection of primitives arrays as one logical large array.

func NewChunked

func NewChunked(dtype arrow.DataType, chunks []Interface) *Chunked

NewChunked returns a new chunked array from the slice of arrays.

NewChunked panics if the chunks do not have the same data type.

func (*Chunked) Chunk

func (a *Chunked) Chunk(i int) Interface

func (*Chunked) Chunks

func (a *Chunked) Chunks() []Interface

func (*Chunked) DataType

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

func (*Chunked) Len

func (a *Chunked) Len() int

func (*Chunked) NewSlice

func (a *Chunked) NewSlice(i, j int64) *Chunked

NewSlice 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.

func (*Chunked) NullN

func (a *Chunked) NullN() int

func (*Chunked) Release

func (a *Chunked) 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 (*Chunked) Retain

func (a *Chunked) Retain()

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

type Column

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

Column is an immutable column data structure consisting of a field (type metadata) and a chunked data array.

func NewColumn

func NewColumn(field arrow.Field, chunks *Chunked) *Column

NewColumn returns a column from a field and a chunked data array.

NewColumn panics if the field's data type is inconsistent with the data type of the chunked data array.

func (*Column) Data

func (col *Column) Data() *Chunked

func (*Column) DataType

func (col *Column) DataType() arrow.DataType

func (*Column) Field

func (col *Column) Field() arrow.Field

func (*Column) Len

func (col *Column) Len() int

func (*Column) Name

func (col *Column) Name() string

func (*Column) NewSlice

func (col *Column) NewSlice(i, j int64) *Column

NewSlice 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.

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

func (*Column) NullN

func (col *Column) NullN() int

func (*Column) Release

func (col *Column) 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 (*Column) Retain

func (col *Column) Retain()

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

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 []*Data, nulls, offset int) *Data

NewData creates a new Data.

func NewSliceData

func NewSliceData(data *Data, i, j int64) *Data

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 (*Data) Buffers

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

Buffers returns the buffers.

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 []*Data, 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 *Data) *Date32

NewDate32Data creates a new Date32.

func (*Date32) Data

func (a *Date32) Data() *Data

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) 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() Interface

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) 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 *Data) *Date64

NewDate64Data creates a new Date64.

func (*Date64) Data

func (a *Date64) Data() *Data

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) 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() Interface

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) 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 *Data) *DayTimeInterval

func (*DayTimeInterval) Data

func (a *DayTimeInterval) Data() *Data

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) 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() Interface

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) 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 *Data) *Decimal128

func (*Decimal128) Data

func (a *Decimal128) Data() *Data

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) 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() Interface

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) 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 *Data) *Duration

NewDurationData creates a new Duration.

func (*Duration) Data

func (a *Duration) Data() *Data

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) 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() Interface

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) 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 {
	Interface
	// 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() Interface
	// 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 *Data) 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() *Data

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) 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() Interface

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() Interface

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 *Data) *FixedSizeBinary

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

func (*FixedSizeBinary) Data

func (a *FixedSizeBinary) Data() *Data

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) 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() Interface

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) 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 *Data) *FixedSizeList

NewFixedSizeListData returns a new List array value, from data.

func (*FixedSizeList) Data

func (a *FixedSizeList) Data() *Data

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() Interface

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() Interface

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) 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 *Data) *Float16

func (*Float16) Data

func (a *Float16) Data() *Data

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) 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() Interface

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) 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 *Data) *Float32

NewFloat32Data creates a new Float32.

func (*Float32) Data

func (a *Float32) Data() *Data

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) 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() Interface

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) 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 *Data) *Float64

NewFloat64Data creates a new Float64.

func (*Float64) Data

func (a *Float64) Data() *Data

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) 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() Interface

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) UnsafeAppend

func (b *Float64Builder) UnsafeAppend(v float64)

func (*Float64Builder) UnsafeAppendBoolToBitmap

func (b *Float64Builder) UnsafeAppendBoolToBitmap(isValid bool)

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 *Data) *Int16

NewInt16Data creates a new Int16.

func (*Int16) Data

func (a *Int16) Data() *Data

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) 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() Interface

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) 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 *Data) *Int32

NewInt32Data creates a new Int32.

func (*Int32) Data

func (a *Int32) Data() *Data

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) 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() Interface

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) 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 *Data) *Int64

NewInt64Data creates a new Int64.

func (*Int64) Data

func (a *Int64) Data() *Data

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) 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() Interface

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) 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 *Data) *Int8

NewInt8Data creates a new Int8.

func (*Int8) Data

func (a *Int8) Data() *Data

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) 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() Interface

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) UnsafeAppend

func (b *Int8Builder) UnsafeAppend(v int8)

func (*Int8Builder) UnsafeAppendBoolToBitmap

func (b *Int8Builder) UnsafeAppendBoolToBitmap(isValid bool)

type Interface

type Interface interface {
	// DataType returns the type metadata for this instance.
	DataType() arrow.DataType

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

	// NullBitmapBytes returns a byte slice of the validity bitmap.
	NullBitmapBytes() []byte

	// IsNull returns true if value at index is null.
	// NOTE: IsNull will panic if NullBitmapBytes is not empty and 0 > i ≥ Len.
	IsNull(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.
	IsValid(i int) bool

	Data() *Data

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

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

	// 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.
	Release()
}

A type which satisfies array.Interface represents an immutable sequence of values.

func Concatenate

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

Concatenate creates a new array.Interface 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 MakeFromData

func MakeFromData(data *Data) Interface

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

func NewExtensionArrayWithStorage

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

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 NewIntervalData

func NewIntervalData(data *Data) Interface

func NewSlice

func NewSlice(arr Interface, i, j int64) Interface

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.

type List

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

List represents an immutable sequence of array values.

func NewListData

func NewListData(data *Data) *List

NewListData returns a new List array value, from data.

func (*List) Data

func (a *List) Data() *Data

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() Interface

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() Interface

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) 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 *Data) *Map

NewMapData returns a new Map array value, from data

func (Map) Data

func (a Map) Data() *Data

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() Interface

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() Interface

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() Interface

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) 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 *Data) *MonthDayNanoInterval

func (*MonthDayNanoInterval) Data

func (a *MonthDayNanoInterval) Data() *Data

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) 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() Interface

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) 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 *Data) *MonthInterval

func (*MonthInterval) Data

func (a *MonthInterval) Data() *Data

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) 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() Interface

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) 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 *Data) *Null

NewNullData returns a new Null array value, from data.

func (*Null) Data

func (a *Null) Data() *Data

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) 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() Interface

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) UnsafeAppendBoolToBitmap

func (b *NullBuilder) UnsafeAppendBoolToBitmap(isValid bool)

type Record

type Record interface {
	Release()
	Retain()

	Schema() *arrow.Schema

	NumRows() int64
	NumCols() int64

	Columns() []Interface
	Column(i int) Interface
	ColumnName(i int) string

	// NewSlice constructs a zero-copy slice of the record with the indicated
	// indices i and j, corresponding to array[i:j].
	// The returned record must be Release()'d after use.
	//
	// NewSlice panics if the slice is outside the valid range of the record array.
	// NewSlice panics if j < i.
	NewSlice(i, j int64) Record
}

Record is a collection of equal-length arrays matching a particular Schema.

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

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 *Data) *String

NewStringData constructs a new String array from data.

func (*String) Data

func (a *String) Data() *Data

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 the array.

func (*String) NullBitmapBytes

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

NullBitmapBytes returns a byte slice of the validity bitmap.

func (*String) NullN

func (a *String) NullN() int

NullN returns the number of null values in the array.

func (*String) Offset

func (a *String) Offset() int

func (*String) Release

func (a *String) 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 (*String) Reset

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

Reset resets the String with a different set of Data.

func (*String) Retain

func (a *String) Retain()

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

func (*String) String

func (a *String) String() string

func (*String) Value

func (a *String) Value(i int) string

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

func (*String) ValueBytes

func (a *String) ValueBytes() (ret []byte)

func (*String) ValueOffset

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

ValueOffset returns the offset of the value at index i.

func (*String) ValueOffsets

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

type StringBuilder

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

A StringBuilder is used to build a String array using the Append methods.

func NewStringBuilder

func NewStringBuilder(mem memory.Allocator) *StringBuilder

NewStringBuilder creates a new StringBuilder.

func (*StringBuilder) Append

func (b *StringBuilder) Append(v string)

Append appends a string to the builder.

func (*StringBuilder) AppendNull

func (b *StringBuilder) AppendNull()

AppendNull appends a null to the builder.

func (*StringBuilder) AppendValues

func (b *StringBuilder) AppendValues(v []string, 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 (*StringBuilder) Cap

func (b *StringBuilder) Cap() int

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

func (*StringBuilder) Len

func (b *StringBuilder) Len() int

Len returns the number of elements in the array builder.

func (*StringBuilder) NewArray

func (b *StringBuilder) NewArray() Interface

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

func (*StringBuilder) NewStringArray

func (b *StringBuilder) NewStringArray() (a *String)

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

func (*StringBuilder) NullN

func (b *StringBuilder) NullN() int

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

func (*StringBuilder) Release

func (b *StringBuilder) 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 (*StringBuilder) Reserve

func (b *StringBuilder) Reserve(n int)

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

func (*StringBuilder) Resize

func (b *StringBuilder) 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 (*StringBuilder) Retain

func (b *StringBuilder) Retain()

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

func (*StringBuilder) Value

func (b *StringBuilder) Value(i int) string

Value returns the string at index i.

type Struct

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

Struct represents an ordered sequence of relative types.

func NewStructData

func NewStructData(data *Data) *Struct

NewStructData returns a new Struct array value from data.

func (*Struct) Data

func (a *Struct) Data() *Data

func (*Struct) DataType

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

DataType returns the type metadata for this instance.

func (*Struct) Field

func (a *Struct) Field(i int) Interface

func (*Struct) IsNull

func (a *Struct) 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 (*Struct) IsValid

func (a *Struct) 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 (*Struct) Len

func