Documentation
¶
Index ¶
- func AsAggregate(ctx impls.ExecutionContext, e impls.Expression) impls.AggregateExpression
- func Conjunctions(e impls.Expression) []impls.Expression
- func Disjunctions(e impls.Expression) []impls.Expression
- func Fields(expr impls.Expression) []fields.Field
- func FilterDifference(filter, childFilter impls.Expression) impls.Expression
- func FilterIntersection(filter, childFilter impls.Expression) impls.Expression
- func NewAddition(left, right impls.Expression) impls.Expression
- func NewAnd(left, right impls.Expression) impls.Expression
- func NewBetween(left, middle, right impls.Expression) impls.Expression
- func NewBetweenSymmetric(left, middle, right impls.Expression) impls.Expression
- func NewConcat(left, right impls.Expression) impls.Expression
- func NewConstant(value any) impls.Expression
- func NewDivision(left, right impls.Expression) impls.Expression
- func NewEquals(left, right impls.Expression) impls.Expression
- func NewFunction(name string, args []impls.Expression) impls.Expression
- func NewGreaterThan(left, right impls.Expression) impls.Expression
- func NewGreaterThanEquals(left, right impls.Expression) impls.Expression
- func NewILike(left, right impls.Expression) impls.Expression
- func NewIsDistinctFrom(left, right impls.Expression) impls.Expression
- func NewIsFalse(expression impls.Expression) impls.Expression
- func NewIsNull(expression impls.Expression) impls.Expression
- func NewIsTrue(expression impls.Expression) impls.Expression
- func NewIsUnknown(expression impls.Expression) impls.Expression
- func NewLessThan(left, right impls.Expression) impls.Expression
- func NewLessThanEquals(left, right impls.Expression) impls.Expression
- func NewLike(left, right impls.Expression) impls.Expression
- func NewMultiplication(left, right impls.Expression) impls.Expression
- func NewNamed(field fields.Field) impls.Expression
- func NewNot(expression impls.Expression) impls.Expression
- func NewOr(left, right impls.Expression) impls.Expression
- func NewOrderExpression(expressions []impls.ExpressionWithDirection) impls.OrderExpression
- func NewSubtraction(left, right impls.Expression) impls.Expression
- func NewUnaryMinus(expression impls.Expression) impls.Expression
- func NewUnaryPlus(expression impls.Expression) impls.Expression
- func PartitionAggregatedFieldReferences(ctx impls.Cataloger, exprs []impls.Expression, groupings []impls.Expression) (aggregatedFields []fields.Field, nonAggregatedFields []fields.Field, ...)
- func SubsumesOrder(a, b impls.OrderExpression) bool
- func UnionFilters(filters ...impls.Expression) impls.Expression
- func UnwrapAggregate(ctx impls.Cataloger, expr impls.Expression) (impls.Aggregate, []impls.Expression, bool)
- type ArithmeticType
- type ComparisonType
- type CompositeExpression
- type ConstantPlaceholder
- type NamedExpression
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AsAggregate ¶
func AsAggregate(ctx impls.ExecutionContext, e impls.Expression) impls.AggregateExpression
func Conjunctions ¶
func Conjunctions(e impls.Expression) []impls.Expression
func Disjunctions ¶
func Disjunctions(e impls.Expression) []impls.Expression
func FilterDifference ¶
func FilterDifference(filter, childFilter impls.Expression) impls.Expression
func FilterIntersection ¶
func FilterIntersection(filter, childFilter impls.Expression) impls.Expression
func NewAddition ¶
func NewAddition(left, right impls.Expression) impls.Expression
func NewAnd ¶
func NewAnd(left, right impls.Expression) impls.Expression
func NewBetween ¶
func NewBetween(left, middle, right impls.Expression) impls.Expression
func NewBetweenSymmetric ¶
func NewBetweenSymmetric(left, middle, right impls.Expression) impls.Expression
func NewConcat ¶
func NewConcat(left, right impls.Expression) impls.Expression
func NewConstant ¶
func NewConstant(value any) impls.Expression
func NewDivision ¶
func NewDivision(left, right impls.Expression) impls.Expression
func NewEquals ¶
func NewEquals(left, right impls.Expression) impls.Expression
func NewFunction ¶
func NewFunction(name string, args []impls.Expression) impls.Expression
func NewGreaterThan ¶
func NewGreaterThan(left, right impls.Expression) impls.Expression
func NewGreaterThanEquals ¶
func NewGreaterThanEquals(left, right impls.Expression) impls.Expression
func NewILike ¶
func NewILike(left, right impls.Expression) impls.Expression
func NewIsDistinctFrom ¶
func NewIsDistinctFrom(left, right impls.Expression) impls.Expression
func NewIsFalse ¶
func NewIsFalse(expression impls.Expression) impls.Expression
func NewIsNull ¶
func NewIsNull(expression impls.Expression) impls.Expression
func NewIsTrue ¶
func NewIsTrue(expression impls.Expression) impls.Expression
func NewIsUnknown ¶
func NewIsUnknown(expression impls.Expression) impls.Expression
func NewLessThan ¶
func NewLessThan(left, right impls.Expression) impls.Expression
func NewLessThanEquals ¶
func NewLessThanEquals(left, right impls.Expression) impls.Expression
func NewLike ¶
func NewLike(left, right impls.Expression) impls.Expression
func NewMultiplication ¶
func NewMultiplication(left, right impls.Expression) impls.Expression
func NewNot ¶
func NewNot(expression impls.Expression) impls.Expression
func NewOr ¶
func NewOr(left, right impls.Expression) impls.Expression
func NewOrderExpression ¶
func NewOrderExpression(expressions []impls.ExpressionWithDirection) impls.OrderExpression
func NewSubtraction ¶
func NewSubtraction(left, right impls.Expression) impls.Expression
func NewUnaryMinus ¶
func NewUnaryMinus(expression impls.Expression) impls.Expression
func NewUnaryPlus ¶
func NewUnaryPlus(expression impls.Expression) impls.Expression
func SubsumesOrder ¶
func SubsumesOrder(a, b impls.OrderExpression) bool
func UnionFilters ¶
func UnionFilters(filters ...impls.Expression) impls.Expression
func UnwrapAggregate ¶
func UnwrapAggregate(ctx impls.Cataloger, expr impls.Expression) (impls.Aggregate, []impls.Expression, bool)
Types ¶
type ArithmeticType ¶
type ArithmeticType int
const ( ArithmeticTypeUnknown ArithmeticType = iota ArithmeticTypeAddition ArithmeticTypeSubtraction ArithmeticTypeMultiplication ArithmeticTypeDivision )
func ArithmeticTypeFromString ¶
func ArithmeticTypeFromString(operator string) ArithmeticType
func IsArithmetic ¶
func IsArithmetic(expr impls.Expression) (_ ArithmeticType, left, right impls.Expression)
func (ArithmeticType) IsSymmetric ¶
func (at ArithmeticType) IsSymmetric() bool
func (ArithmeticType) String ¶
func (at ArithmeticType) String() string
type ComparisonType ¶
type ComparisonType int
const ( ComparisonTypeUnknown ComparisonType = iota ComparisonTypeEquals ComparisonTypeDistinctFrom ComparisonTypeLessThanEquals ComparisonTypeLessThan ComparisonTypeGreaterThanEquals ComparisonTypeGreaterThan )
func ComparisonTypeFromString ¶
func ComparisonTypeFromString(operator string) ComparisonType
func IsComparison ¶
func IsComparison(expr impls.Expression) (_ ComparisonType, left, right impls.Expression)
func (ComparisonType) Flip ¶
func (ct ComparisonType) Flip() ComparisonType
func (ComparisonType) MatchesOrderType ¶
func (ct ComparisonType) MatchesOrderType(lVal, rVal any) (bool, error)
func (ComparisonType) String ¶
func (ct ComparisonType) String() string
type CompositeExpression ¶
type CompositeExpression interface {
Children() []impls.Expression
}
type ConstantPlaceholder ¶
type ConstantPlaceholder interface { impls.Expression SetValue(value any) }
func NewMutableConstant ¶
func NewMutableConstant() ConstantPlaceholder
type NamedExpression ¶
Click to show internal directories.
Click to hide internal directories.