Versions in this module Expand all Collapse all v0 v0.0.1 Mar 23, 2024 Changes in this version + var ErrUnsupportedAndType = errors.New("unsupported type for is and aggregation, expected bool") + var ErrUnsupportedBinaryOperation = errors.New("unsupported binary operation") + var ErrUnsupportedBooleanExpression = errors.New("unsupported boolean expression") + var ErrUnsupportedIsUniqueType = errors.New("unsupported type for is unique aggregation, expected int64") + var ErrUnsupportedMaxType = errors.New("unsupported type for max aggregation, expected int64 or float64") + var ErrUnsupportedMinType = errors.New("unsupported type for max aggregation, expected int64 or float64") + var ErrUnsupportedSumType = errors.New("unsupported type for sum aggregation, expected int64 or float64") + func AddFloat64s(mem memory.Allocator, left, right *array.Float64) *array.Float64 + func AddInt32s(mem memory.Allocator, left, right *array.Int32) *array.Int32 + func AddInt64s(mem memory.Allocator, left, right *array.Int64) *array.Int64 + func AddUint64s(mem memory.Allocator, left, right *array.Uint64) *array.Uint64 + func AndArrays(pool memory.Allocator, arrs []arrow.Array) arrow.Array + func DivFloat64s(mem memory.Allocator, left, right *array.Float64) *array.Float64 + func DivInt32s(mem memory.Allocator, left, right *array.Int32) *array.Int32 + func DivInt64s(mem memory.Allocator, left, right *array.Int64) *array.Int64 + func DivUint64s(mem memory.Allocator, left, right *array.Uint64) *array.Uint64 + func MulFloat64s(mem memory.Allocator, left, right *array.Float64) *array.Float64 + func MulInt32s(mem memory.Allocator, left, right *array.Int32) *array.Int32 + func MulInt64s(mem memory.Allocator, left, right *array.Int64) *array.Int64 + func MulUint64s(mem memory.Allocator, left, right *array.Uint64) *array.Uint64 + func SubFloat64s(mem memory.Allocator, left, right *array.Float64) *array.Float64 + func SubInt32s(mem memory.Allocator, left, right *array.Int32) *array.Int32 + func SubInt64s(mem memory.Allocator, left, right *array.Int64) *array.Int64 + func SubUint64s(mem memory.Allocator, left, right *array.Uint64) *array.Uint64 + type Aggregation struct + type AggregationFunction interface + Aggregate func(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error) + type AndAggregation struct + func (a *AndAggregation) Aggregate(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error) + type AndExpr struct + Left BooleanExpression + Right BooleanExpression + func (a *AndExpr) Eval(r arrow.Record) (*Bitmap, error) + func (a *AndExpr) String() string + type ArrayRef struct + ColumnName string + func (a *ArrayRef) ArrowArray(r arrow.Record) (arrow.Array, bool, error) + func (a *ArrayRef) String() string + type ArrayReference struct + type BinaryScalarExpr struct + Left *ArrayRef + Op logicalplan.Op + Right scalar.Scalar + func (e BinaryScalarExpr) Eval(r arrow.Record) (*Bitmap, error) + func (e BinaryScalarExpr) String() string + type Bitmap = roaring.Bitmap + func ArrayScalarCompute(funcName string, left arrow.Array, right scalar.Scalar) (*Bitmap, error) + func ArrayScalarContains(arr arrow.Array, right scalar.Scalar, not bool) (*Bitmap, error) + func ArrayScalarRegexMatch(left arrow.Array, right *regexp.Regexp) (*Bitmap, error) + func ArrayScalarRegexNotMatch(left arrow.Array, right *regexp.Regexp) (*Bitmap, error) + func BinaryArrayScalarRegexMatch(left *array.Binary, right *regexp.Regexp) (*Bitmap, error) + func BinaryArrayScalarRegexNotMatch(left *array.Binary, right *regexp.Regexp) (*Bitmap, error) + func BinaryDictionaryArrayScalarRegexMatch(dict *array.Dictionary, left *array.Binary, right *regexp.Regexp) (*Bitmap, error) + func BinaryDictionaryArrayScalarRegexNotMatch(dict *array.Dictionary, left *array.Binary, right *regexp.Regexp) (*Bitmap, error) + func BinaryScalarOperation(left arrow.Array, right scalar.Scalar, operator logicalplan.Op) (*Bitmap, error) + func DictionaryArrayScalarContains(left *array.Dictionary, right scalar.Scalar, not bool) (*Bitmap, error) + func DictionaryArrayScalarEqual(left *array.Dictionary, right scalar.Scalar) (*Bitmap, error) + func DictionaryArrayScalarNotEqual(left *array.Dictionary, right scalar.Scalar) (*Bitmap, error) + func NewBitmap() *Bitmap + func StringArrayScalarRegexMatch(left *array.String, right *regexp.Regexp) (*Bitmap, error) + func StringArrayScalarRegexNotMatch(left *array.String, right *regexp.Regexp) (*Bitmap, error) + type BooleanExpression interface + Eval func(r arrow.Record) (*Bitmap, error) + String func() string + type CountAggregation struct + func (a *CountAggregation) Aggregate(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error) + type Diagram struct + Child *Diagram + Details string + func (d *Diagram) String() string + type Distinction struct + func Distinct(pool memory.Allocator, tracer trace.Tracer, columns []logicalplan.Expr) *Distinction + func (d *Distinction) Callback(ctx context.Context, r arrow.Record) error + func (d *Distinction) Close() + func (d *Distinction) Draw() *Diagram + func (d *Distinction) Finish(ctx context.Context) error + func (d *Distinction) SetNext(plan PhysicalPlan) + type HashAggregate struct + func NewHashAggregate(pool memory.Allocator, tracer trace.Tracer, aggregations []Aggregation, ...) *HashAggregate + func (a *HashAggregate) Callback(_ context.Context, r arrow.Record) error + func (a *HashAggregate) Close() + func (a *HashAggregate) Draw() *Diagram + func (a *HashAggregate) Finish(ctx context.Context) error + func (a *HashAggregate) SetNext(next PhysicalPlan) + type IndexRange struct + End uint32 + Start uint32 + type Limiter struct + func Limit(pool memory.Allocator, tracer trace.Tracer, expr logicalplan.Expr) (*Limiter, error) + func (l *Limiter) Callback(ctx context.Context, r arrow.Record) error + func (l *Limiter) Close() + func (l *Limiter) Draw() *Diagram + func (l *Limiter) Finish(ctx context.Context) error + func (l *Limiter) SetNext(next PhysicalPlan) + type MaxAggregation struct + func (a *MaxAggregation) Aggregate(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error) + type MinAggregation struct + func (a *MinAggregation) Aggregate(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error) + type Option func(o *execOptions) + func WithOrderedAggregations() Option + func WithOverrideInput(input []PhysicalPlan) Option + func WithReadMode(m logicalplan.ReadMode) Option + type OrExpr struct + Left BooleanExpression + Right BooleanExpression + func (a *OrExpr) Eval(r arrow.Record) (*Bitmap, error) + func (a *OrExpr) String() string + type OrderedAggregate struct + func NewOrderedAggregate(pool memory.Allocator, tracer trace.Tracer, aggregation Aggregation, ...) *OrderedAggregate + func (a *OrderedAggregate) Callback(_ context.Context, r arrow.Record) error + func (a *OrderedAggregate) Close() + func (a *OrderedAggregate) Draw() *Diagram + func (a *OrderedAggregate) Finish(ctx context.Context) error + func (a *OrderedAggregate) SetNext(next PhysicalPlan) + type OrderedSynchronizer struct + func NewOrderedSynchronizer(pool memory.Allocator, inputs int, orderByExprs []logicalplan.Expr) *OrderedSynchronizer + func (o *OrderedSynchronizer) Callback(ctx context.Context, r arrow.Record) error + func (o *OrderedSynchronizer) Close() + func (o *OrderedSynchronizer) Draw() *Diagram + func (o *OrderedSynchronizer) Finish(ctx context.Context) error + func (o *OrderedSynchronizer) SetNext(next PhysicalPlan) + type OutputPlan struct + func Build(ctx context.Context, pool memory.Allocator, tracer trace.Tracer, ...) (*OutputPlan, error) + func (e *OutputPlan) Callback(ctx context.Context, r arrow.Record) error + func (e *OutputPlan) Close() + func (e *OutputPlan) Draw() *Diagram + func (e *OutputPlan) DrawString() string + func (e *OutputPlan) Execute(ctx context.Context, pool memory.Allocator, ...) error + func (e *OutputPlan) Finish(_ context.Context) error + func (e *OutputPlan) SetNext(_ PhysicalPlan) + func (e *OutputPlan) SetNextCallback(next func(ctx context.Context, r arrow.Record) error) + type PhysicalPlan interface + Callback func(ctx context.Context, r arrow.Record) error + Close func() + Draw func() *Diagram + Finish func(ctx context.Context) error + SetNext func(next PhysicalPlan) + func Aggregate(pool memory.Allocator, tracer trace.Tracer, agg *logicalplan.Aggregation, ...) (PhysicalPlan, error) + type PostPlanVisitorFunc func(plan *logicalplan.LogicalPlan) bool + func (f PostPlanVisitorFunc) PostVisit(plan *logicalplan.LogicalPlan) bool + func (f PostPlanVisitorFunc) PreVisit(_ *logicalplan.LogicalPlan) bool + type PreExprVisitorFunc func(expr logicalplan.Expr) bool + func (f PreExprVisitorFunc) PostVisit(_ logicalplan.Expr) bool + func (f PreExprVisitorFunc) PreVisit(expr logicalplan.Expr) bool + func (f PreExprVisitorFunc) Visit(_ logicalplan.Expr) bool + type PrePlanVisitorFunc func(plan *logicalplan.LogicalPlan) bool + func (f PrePlanVisitorFunc) PostVisit(_ *logicalplan.LogicalPlan) bool + func (f PrePlanVisitorFunc) PreVisit(plan *logicalplan.LogicalPlan) bool + type PredicateFilter struct + func Filter(pool memory.Allocator, tracer trace.Tracer, filterExpr logicalplan.Expr) (*PredicateFilter, error) + func (f *PredicateFilter) Callback(ctx context.Context, r arrow.Record) error + func (f *PredicateFilter) Close() + func (f *PredicateFilter) Draw() *Diagram + func (f *PredicateFilter) Finish(ctx context.Context) error + func (f *PredicateFilter) SetNext(next PhysicalPlan) + type Projection struct + func Project(mem memory.Allocator, tracer trace.Tracer, exprs []logicalplan.Expr) (*Projection, error) + func (p *Projection) Callback(ctx context.Context, r arrow.Record) error + func (p *Projection) Close() + func (p *Projection) Draw() *Diagram + func (p *Projection) Finish(ctx context.Context) error + func (p *Projection) Project(_ context.Context, r arrow.Record) (arrow.Record, error) + func (p *Projection) SetNext(next PhysicalPlan) + type RegExpFilter struct + func (f *RegExpFilter) Eval(r arrow.Record) (*Bitmap, error) + func (f *RegExpFilter) String() string + type ScanPhysicalPlan interface + Draw func() *Diagram + Execute func(ctx context.Context, pool memory.Allocator) error + type SchemaScan struct + func (s *SchemaScan) Draw() *Diagram + func (s *SchemaScan) Execute(ctx context.Context, pool memory.Allocator) error + type SumAggregation struct + func (a *SumAggregation) Aggregate(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error) + type Synchronizer struct + func Synchronize(concurrency int) *Synchronizer + func (m *Synchronizer) Callback(ctx context.Context, r arrow.Record) error + func (m *Synchronizer) Close() + func (m *Synchronizer) Draw() *Diagram + func (m *Synchronizer) Finish(ctx context.Context) error + func (m *Synchronizer) SetNext(next PhysicalPlan) + func (m *Synchronizer) SetNextPlan(nextPlan PhysicalPlan) + type TableScan struct + func (s *TableScan) Draw() *Diagram + func (s *TableScan) Execute(ctx context.Context, pool memory.Allocator) error + type UniqueAggregation struct + func (a *UniqueAggregation) Aggregate(pool memory.Allocator, arrs []arrow.Array) (arrow.Array, error)