Documentation ¶
Index ¶
- func DirectionsToMultipliers(directions []OrderDirection) []int
- func EqualExpressions(expr1, expr2 Expression) bool
- func GetUniqueNameMatchingVariable(mapping map[string]string, name string) (string, bool)
- func ReverseMapping(mapping map[string]string) map[string]string
- func TypecheckExpression(ctx context.Context, env physical.Environment, logicalEnv Environment, ...) physical.Expression
- func TypecheckPossiblyNullableStruct(ctx context.Context, env physical.Environment, logicalEnv Environment, ...) physical.Expression
- type And
- type Coalesce
- type CommonTableExpression
- type Constant
- type CountingTrigger
- type DataSource
- type DelayTrigger
- type Distinct
- type EndOfStreamTrigger
- type Environment
- type Expression
- type FieldNamer
- type Filter
- type FunctionExpression
- type GroupBy
- type LookupJoin
- type Map
- type Node
- type ObjectFieldAccess
- type Or
- type OrderDirection
- type OrderSensitiveTransform
- type OuterJoin
- type QueryExpression
- type Requalifier
- type StarExpression
- type StreamJoin
- type TableValuedFunction
- type TableValuedFunctionArgumentMatcher
- type TableValuedFunctionArgumentMatcherDescriptor
- type TableValuedFunctionArgumentMatcherExpression
- type TableValuedFunctionArgumentMatcherTable
- type TableValuedFunctionArgumentValue
- type TableValuedFunctionArgumentValueDescriptor
- type TableValuedFunctionArgumentValueExpression
- type TableValuedFunctionArgumentValueTable
- type TableValuedFunctionDescription
- type TableValuedFunctionDescriptor
- type TableValuedFunctionTypecheckedArgument
- type Trigger
- type Tuple
- type TypeCast
- type UnionAll
- type UnionDistinct
- type Variable
- type VariableMapping
- type WatermarkTrigger
- type With
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DirectionsToMultipliers ¶ added in v0.4.0
func DirectionsToMultipliers(directions []OrderDirection) []int
func EqualExpressions ¶
func EqualExpressions(expr1, expr2 Expression) bool
func GetUniqueNameMatchingVariable ¶ added in v0.4.0
func ReverseMapping ¶ added in v0.4.0
func TypecheckExpression ¶ added in v0.4.0
func TypecheckExpression(ctx context.Context, env physical.Environment, logicalEnv Environment, expected octosql.Type, expression Expression) physical.Expression
func TypecheckPossiblyNullableStruct ¶ added in v0.5.0
func TypecheckPossiblyNullableStruct(ctx context.Context, env physical.Environment, logicalEnv Environment, expression Expression) physical.Expression
Types ¶
type And ¶ added in v0.4.0
type And struct {
// contains filtered or unexported fields
}
func NewAnd ¶ added in v0.4.0
func NewAnd(left, right Expression) *And
func (*And) Typecheck ¶ added in v0.4.0
func (and *And) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type Coalesce ¶ added in v0.4.0
type Coalesce struct {
// contains filtered or unexported fields
}
func NewCoalesce ¶ added in v0.4.0
func NewCoalesce(args []Expression) *Coalesce
func (*Coalesce) Typecheck ¶ added in v0.4.0
func (c *Coalesce) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type CommonTableExpression ¶ added in v0.4.0
type Constant ¶
type Constant struct {
// contains filtered or unexported fields
}
func NewConstant ¶
func (*Constant) Typecheck ¶ added in v0.4.0
func (c *Constant) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type CountingTrigger ¶ added in v0.3.0
type CountingTrigger struct {
Count uint
}
func NewCountingTrigger ¶ added in v0.3.0
func NewCountingTrigger(count uint) *CountingTrigger
func (*CountingTrigger) Typecheck ¶ added in v0.4.0
func (w *CountingTrigger) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment, keyTimeIndex int) physical.Trigger
type DataSource ¶
type DataSource struct {
// contains filtered or unexported fields
}
func NewDataSource ¶
func NewDataSource(name, alias string, options map[string]string) *DataSource
func (*DataSource) Typecheck ¶ added in v0.4.0
func (ds *DataSource) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type DelayTrigger ¶ added in v0.3.0
type DelayTrigger struct {
Delay Expression
}
func NewDelayTrigger ¶ added in v0.3.0
func NewDelayTrigger(delay Expression) *DelayTrigger
func (*DelayTrigger) Typecheck ¶ added in v0.4.0
func (w *DelayTrigger) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment, keyTimeIndex int) physical.Trigger
type Distinct ¶
type Distinct struct {
// contains filtered or unexported fields
}
func NewDistinct ¶
type EndOfStreamTrigger ¶ added in v0.4.0
type EndOfStreamTrigger struct { }
func NewEndOfStreamTrigger ¶ added in v0.4.0
func NewEndOfStreamTrigger() *EndOfStreamTrigger
func (*EndOfStreamTrigger) Typecheck ¶ added in v0.4.0
func (w *EndOfStreamTrigger) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment, keyTimeIndex int) physical.Trigger
type Environment ¶ added in v0.4.0
type Environment struct { CommonTableExpressions map[string]CommonTableExpression TableValuedFunctions map[string]TableValuedFunctionDescription UniqueVariableNames *VariableMapping UniqueNameGenerator map[string]int }
func (*Environment) GetUnique ¶ added in v0.4.0
func (env *Environment) GetUnique(name string) string
func (*Environment) WithRecordUniqueVariableNames ¶ added in v0.4.0
func (env *Environment) WithRecordUniqueVariableNames(record map[string]string) Environment
type Expression ¶
type Expression interface {
Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
}
type FieldNamer ¶ added in v0.4.0
type FieldNamer interface {
FieldName() string
}
FieldNamer can be implemented by expressions with pretty default names based on their content.
type Filter ¶
type Filter struct {
// contains filtered or unexported fields
}
func NewFilter ¶
func NewFilter(predicate Expression, child Node) *Filter
type FunctionExpression ¶
type FunctionExpression struct { Name string Arguments []Expression }
func NewFunctionExpression ¶
func NewFunctionExpression(name string, args []Expression) *FunctionExpression
func (*FunctionExpression) Typecheck ¶ added in v0.4.0
func (fe *FunctionExpression) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type GroupBy ¶
type GroupBy struct {
// contains filtered or unexported fields
}
func NewGroupBy ¶
func NewGroupBy(source Node, key []Expression, keyNames []string, expressions []Expression, aggregates []string, aggregateNames []string, triggers []Trigger) *GroupBy
type LookupJoin ¶ added in v0.8.0
type LookupJoin struct {
// contains filtered or unexported fields
}
func NewLookupJoin ¶ added in v0.8.0
func NewLookupJoin(left, right Node) *LookupJoin
func (*LookupJoin) Typecheck ¶ added in v0.8.0
func (node *LookupJoin) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type Map ¶
type Map struct {
// contains filtered or unexported fields
}
func NewMap ¶
func NewMap(expressions []Expression, aliases []string, starQualifiers []string, isStar []bool, objectExplosions []Expression, isObjectExplosion []bool, child Node) *Map
type Node ¶
type Node interface { // Typechecking panics on error, because it will never be handled in a different way than being bubbled up to the top. Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string) }
type ObjectFieldAccess ¶ added in v0.5.0
type ObjectFieldAccess struct {
// contains filtered or unexported fields
}
func NewObjectFieldAccess ¶ added in v0.5.0
func NewObjectFieldAccess(object Expression, field string) *ObjectFieldAccess
func (*ObjectFieldAccess) Typecheck ¶ added in v0.5.0
func (c *ObjectFieldAccess) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type Or ¶ added in v0.4.0
type Or struct {
// contains filtered or unexported fields
}
func NewOr ¶ added in v0.4.0
func NewOr(left, right Expression) *Or
func (*Or) Typecheck ¶ added in v0.4.0
func (or *Or) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type OrderDirection ¶
type OrderDirection string
type OrderSensitiveTransform ¶ added in v0.8.0
type OrderSensitiveTransform struct {
// contains filtered or unexported fields
}
func NewOrderSensitiveTransform ¶ added in v0.8.0
func NewOrderSensitiveTransform(keyExprs []Expression, directions []OrderDirection, limit *Expression, source Node) *OrderSensitiveTransform
func (*OrderSensitiveTransform) Typecheck ¶ added in v0.8.0
func (node *OrderSensitiveTransform) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type OuterJoin ¶ added in v0.8.0
type OuterJoin struct {
// contains filtered or unexported fields
}
func NewOuterJoin ¶ added in v0.8.0
func NewOuterJoin(left, right Node, predicate Expression, isLeft, isRight bool) *OuterJoin
type QueryExpression ¶ added in v0.4.0
type QueryExpression struct {
// contains filtered or unexported fields
}
func NewQueryExpression ¶ added in v0.4.0
func NewQueryExpression(node Node) *QueryExpression
func (*QueryExpression) Typecheck ¶ added in v0.4.0
func (ne *QueryExpression) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type Requalifier ¶
type Requalifier struct {
// contains filtered or unexported fields
}
func NewRequalifier ¶
func NewRequalifier(qualifier string, child Node) *Requalifier
func (*Requalifier) Typecheck ¶ added in v0.4.0
func (node *Requalifier) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type StarExpression ¶ added in v0.3.0
type StarExpression struct {
// contains filtered or unexported fields
}
func NewStarExpression ¶ added in v0.3.0
func NewStarExpression(qualifier string) *StarExpression
func (*StarExpression) Typecheck ¶ added in v0.4.0
func (se *StarExpression) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type StreamJoin ¶ added in v0.8.0
type StreamJoin struct {
// contains filtered or unexported fields
}
func NewStreamJoin ¶ added in v0.8.0
func NewStreamJoin(left, right Node) *StreamJoin
func (*StreamJoin) Typecheck ¶ added in v0.8.0
func (node *StreamJoin) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type TableValuedFunction ¶ added in v0.2.0
type TableValuedFunction struct {
// contains filtered or unexported fields
}
func NewTableValuedFunction ¶ added in v0.2.0
func NewTableValuedFunction(name string, arguments map[string]TableValuedFunctionArgumentValue) *TableValuedFunction
func (*TableValuedFunction) Typecheck ¶ added in v0.4.0
func (node *TableValuedFunction) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type TableValuedFunctionArgumentMatcher ¶ added in v0.4.0
type TableValuedFunctionArgumentMatcher struct { Required bool TableValuedFunctionArgumentMatcherType physical.TableValuedFunctionArgumentType // Only one of the below may be non-null. Expression *TableValuedFunctionArgumentMatcherExpression Table *TableValuedFunctionArgumentMatcherTable Descriptor *TableValuedFunctionArgumentMatcherDescriptor }
type TableValuedFunctionArgumentMatcherDescriptor ¶ added in v0.4.0
type TableValuedFunctionArgumentMatcherDescriptor struct { }
type TableValuedFunctionArgumentMatcherExpression ¶ added in v0.4.0
type TableValuedFunctionArgumentMatcherTable ¶ added in v0.4.0
type TableValuedFunctionArgumentMatcherTable struct { }
type TableValuedFunctionArgumentValue ¶ added in v0.2.0
type TableValuedFunctionArgumentValue interface {
// contains filtered or unexported methods
}
type TableValuedFunctionArgumentValueDescriptor ¶ added in v0.2.0
type TableValuedFunctionArgumentValueDescriptor struct {
// contains filtered or unexported fields
}
func NewTableValuedFunctionArgumentValueDescriptor ¶ added in v0.2.0
func NewTableValuedFunctionArgumentValueDescriptor(descriptor string) *TableValuedFunctionArgumentValueDescriptor
func (*TableValuedFunctionArgumentValueDescriptor) Typecheck ¶ added in v0.4.0
func (arg *TableValuedFunctionArgumentValueDescriptor) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.TableValuedFunctionArgument
type TableValuedFunctionArgumentValueExpression ¶ added in v0.2.0
type TableValuedFunctionArgumentValueExpression struct {
// contains filtered or unexported fields
}
func NewTableValuedFunctionArgumentValueExpression ¶ added in v0.2.0
func NewTableValuedFunctionArgumentValueExpression(expression Expression) *TableValuedFunctionArgumentValueExpression
func (*TableValuedFunctionArgumentValueExpression) Typecheck ¶ added in v0.4.0
func (arg *TableValuedFunctionArgumentValueExpression) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.TableValuedFunctionArgument
type TableValuedFunctionArgumentValueTable ¶ added in v0.2.0
type TableValuedFunctionArgumentValueTable struct {
// contains filtered or unexported fields
}
func NewTableValuedFunctionArgumentValueTable ¶ added in v0.2.0
func NewTableValuedFunctionArgumentValueTable(source Node) *TableValuedFunctionArgumentValueTable
func (*TableValuedFunctionArgumentValueTable) Typecheck ¶ added in v0.4.0
func (arg *TableValuedFunctionArgumentValueTable) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.TableValuedFunctionArgument, map[string]string)
type TableValuedFunctionDescription ¶ added in v0.4.0
type TableValuedFunctionDescription struct { TypecheckArguments func(context.Context, physical.Environment, Environment, map[string]TableValuedFunctionArgumentValue) map[string]TableValuedFunctionTypecheckedArgument Descriptors []TableValuedFunctionDescriptor }
type TableValuedFunctionDescriptor ¶ added in v0.4.0
type TableValuedFunctionDescriptor struct { Arguments map[string]TableValuedFunctionArgumentMatcher // Here we can check the inputs. OutputSchema func(context.Context, physical.Environment, Environment, map[string]TableValuedFunctionTypecheckedArgument) (physical.Schema, map[string]string, error) Materialize func(context.Context, physical.Environment, map[string]physical.TableValuedFunctionArgument) (execution.Node, error) }
type TableValuedFunctionTypecheckedArgument ¶ added in v0.4.0
type TableValuedFunctionTypecheckedArgument struct { Mapping map[string]string Argument physical.TableValuedFunctionArgument }
type Trigger ¶ added in v0.3.0
type Trigger interface {
Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment, keyTimeIndex int) physical.Trigger
}
type Tuple ¶
type Tuple struct {
// contains filtered or unexported fields
}
func NewTuple ¶
func NewTuple(expressions []Expression) *Tuple
func (*Tuple) Typecheck ¶ added in v0.4.0
func (t *Tuple) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type TypeCast ¶ added in v0.9.2
type TypeCast struct {
// contains filtered or unexported fields
}
func NewTypeCast ¶ added in v0.9.2
func NewTypeCast(arg Expression, targetTypeID octosql.TypeID) *TypeCast
func (*TypeCast) Typecheck ¶ added in v0.9.2
func (c *TypeCast) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type UnionAll ¶
type UnionAll struct {
// contains filtered or unexported fields
}
func NewUnionAll ¶
type UnionDistinct ¶
type UnionDistinct struct {
// contains filtered or unexported fields
}
func NewUnionDistinct ¶
func NewUnionDistinct(first, second Node) *UnionDistinct
func (*UnionDistinct) Typecheck ¶ added in v0.4.0
func (node *UnionDistinct) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) (physical.Node, map[string]string)
type Variable ¶
type Variable struct {
// contains filtered or unexported fields
}
func NewVariable ¶
func (*Variable) Typecheck ¶ added in v0.4.0
func (v *Variable) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment) physical.Expression
type VariableMapping ¶ added in v0.4.0
type VariableMapping struct { Parent *VariableMapping Mapping map[string]string }
func (*VariableMapping) GetUniqueName ¶ added in v0.4.0
func (mapping *VariableMapping) GetUniqueName(name string) (string, bool)
func (*VariableMapping) WithRecordMapping ¶ added in v0.4.0
func (mapping *VariableMapping) WithRecordMapping(record map[string]string) *VariableMapping
type WatermarkTrigger ¶ added in v0.3.0
type WatermarkTrigger struct { }
func NewWatermarkTrigger ¶ added in v0.3.0
func NewWatermarkTrigger() *WatermarkTrigger
func (*WatermarkTrigger) Typecheck ¶ added in v0.4.0
func (w *WatermarkTrigger) Typecheck(ctx context.Context, env physical.Environment, logicalEnv Environment, keyTimeIndex int) physical.Trigger
Click to show internal directories.
Click to hide internal directories.