filter

package
v0.0.0-...-c23ba73 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComparisonType

type ComparisonType int8
const (
	Equal ComparisonType = iota
	NotEqual
	LessThan
	LessThanOrEqual
	GreaterThan
	GreaterThanOrEqual
)

type ConjunctionAndFilter

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

func NewConjunctionAndFilter

func NewConjunctionAndFilter(filters ...Filter) *ConjunctionAndFilter

func (*ConjunctionAndFilter) Apply

func (f *ConjunctionAndFilter) Apply(colData arrow.Array, filterBitSet *bitset.BitSet)

func (*ConjunctionAndFilter) CheckStatistics

func (f *ConjunctionAndFilter) CheckStatistics(stats metadata.TypedStatistics) bool

FIXME: should have 3 cases. 1. all records satisfy the filter, this group dont need to check filter again. 2. no record satisfies the filter. 3. some records satisfy the filter, this group should check filter again.

func (*ConjunctionAndFilter) GetColumnName

func (f *ConjunctionAndFilter) GetColumnName() string

func (*ConjunctionAndFilter) Type

func (f *ConjunctionAndFilter) Type() FilterType

type ConjunctionOrFilter

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

func (*ConjunctionOrFilter) Apply

func (f *ConjunctionOrFilter) Apply(colData arrow.Array, filterBitSet *bitset.BitSet)

func (*ConjunctionOrFilter) CheckStatistics

func (f *ConjunctionOrFilter) CheckStatistics(stats metadata.TypedStatistics) bool

func (*ConjunctionOrFilter) Type

func (f *ConjunctionOrFilter) Type() FilterType

type ConstantFilter

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

func NewConstantFilter

func NewConstantFilter(cmpType ComparisonType, columnName string, value interface{}) *ConstantFilter

func (*ConstantFilter) Apply

func (f *ConstantFilter) Apply(colData arrow.Array, filterBitSet *bitset.BitSet)

func (*ConstantFilter) CheckStatistics

func (f *ConstantFilter) CheckStatistics(stats metadata.TypedStatistics) bool

func (*ConstantFilter) GetColumnName

func (f *ConstantFilter) GetColumnName() string

func (*ConstantFilter) Type

func (f *ConstantFilter) Type() FilterType

type Filter

type Filter interface {
	CheckStatistics(metadata.TypedStatistics) bool
	Type() FilterType
	Apply(colData arrow.Array, filterBitSet *bitset.BitSet)
	GetColumnName() string
}

type FilterType

type FilterType int8
const (
	And FilterType = iota
	Or
	Constant
	Range
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL