Documentation
¶
Index ¶
- Variables
- func EqualExpressions(expr1, expr2 Expression) error
- func EqualFormula(expr1, expr2 Formula) error
- func EqualNodes(node1, node2 Node) error
- func EqualTableValuedFunctionArgumentValue(value1 TableValuedFunctionArgumentValue, ...) error
- type Aggregate
- type AliasedExpression
- func (alExpr *AliasedExpression) Name() octosql.VariableName
- func (alExpr *AliasedExpression) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
- func (alExpr *AliasedExpression) PhysicalNamed(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.NamedExpression, octosql.Variables, error)
- type BooleanConstant
- type Constant
- type DataSource
- type Distinct
- type Expression
- type Filter
- type Formula
- type FunctionExpression
- type GroupBy
- type InfixOperator
- type InnerJoin
- type Interval
- type LeftJoin
- type Limit
- type LogicExpression
- type Map
- type NamedExpression
- type Node
- type NodeExpression
- type Offset
- type OrderBy
- type OrderDirection
- type PhysicalPlanCreator
- type Predicate
- type PrefixOperator
- type Relation
- type Requalifier
- type TableValuedFunction
- type TableValuedFunctionArgumentValue
- type TableValuedFunctionArgumentValueDescriptor
- type TableValuedFunctionArgumentValueExpression
- type TableValuedFunctionArgumentValueTable
- type Tuple
- type UnionAll
- type UnionDistinct
- type Variable
- func (v *Variable) Name() octosql.VariableName
- func (v *Variable) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
- func (v *Variable) PhysicalNamed(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.NamedExpression, octosql.Variables, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var AggregateFunctions = map[Aggregate]struct{}{ Avg: struct{}{}, AvgDistinct: struct{}{}, Count: struct{}{}, CountDistinct: struct{}{}, First: struct{}{}, Last: struct{}{}, Max: struct{}{}, Min: struct{}{}, Sum: struct{}{}, SumDistinct: struct{}{}, }
Functions ¶
func EqualExpressions ¶
func EqualExpressions(expr1, expr2 Expression) error
func EqualFormula ¶
func EqualNodes ¶
func EqualTableValuedFunctionArgumentValue ¶ added in v0.2.0
func EqualTableValuedFunctionArgumentValue(value1 TableValuedFunctionArgumentValue, value2 TableValuedFunctionArgumentValue) error
Types ¶
type AliasedExpression ¶
type AliasedExpression struct {
// contains filtered or unexported fields
}
func (*AliasedExpression) Name ¶
func (alExpr *AliasedExpression) Name() octosql.VariableName
func (*AliasedExpression) Physical ¶
func (alExpr *AliasedExpression) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
func (*AliasedExpression) PhysicalNamed ¶
func (alExpr *AliasedExpression) PhysicalNamed(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.NamedExpression, octosql.Variables, error)
type BooleanConstant ¶
type BooleanConstant struct {
Value bool
}
func NewBooleanConstant ¶
func NewBooleanConstant(value bool) *BooleanConstant
type Constant ¶
type Constant struct {
// contains filtered or unexported fields
}
func NewConstant ¶
func NewConstant(value interface{}) *Constant
type DataSource ¶
type DataSource struct {
// contains filtered or unexported fields
}
func NewDataSource ¶
func NewDataSource(name string, alias string) *DataSource
type Distinct ¶
type Distinct struct {
// contains filtered or unexported fields
}
func NewDistinct ¶
type Expression ¶
type Expression interface {
Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
}
type FunctionExpression ¶
type FunctionExpression struct {
// contains filtered or unexported fields
}
func NewFunctionExpression ¶
func NewFunctionExpression(name string, args []Expression) *FunctionExpression
func (*FunctionExpression) Physical ¶
func (fe *FunctionExpression) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
type GroupBy ¶
type GroupBy struct {
// contains filtered or unexported fields
}
func NewGroupBy ¶
func NewGroupBy(source Node, key []Expression, fields []octosql.VariableName, aggregates []Aggregate, as []octosql.VariableName) *GroupBy
type InfixOperator ¶
func NewInfixOperator ¶
func NewInfixOperator(left Formula, right Formula, operator string) *InfixOperator
type InnerJoin ¶
type InnerJoin struct {
// contains filtered or unexported fields
}
func NewInnerJoin ¶
type Interval ¶ added in v0.2.0
type Interval struct {
// contains filtered or unexported fields
}
func NewInterval ¶ added in v0.2.0
func NewInterval(count Expression, unit Expression) *Interval
type LeftJoin ¶
type LeftJoin struct {
// contains filtered or unexported fields
}
func NewLeftJoin ¶
type LogicExpression ¶
type LogicExpression struct {
// contains filtered or unexported fields
}
func NewLogicExpression ¶
func NewLogicExpression(formula Formula) *LogicExpression
func (*LogicExpression) Physical ¶
func (le *LogicExpression) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
type NamedExpression ¶
type NamedExpression interface {
Expression
Name() octosql.VariableName
PhysicalNamed(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.NamedExpression, octosql.Variables, error)
}
func NewAliasedExpression ¶
func NewAliasedExpression(name octosql.VariableName, expr Expression) NamedExpression
type Node ¶
type Node interface {
Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Node, octosql.Variables, error)
}
func NewLimit ¶
func NewLimit(data Node, expr Expression) Node
func NewOffset ¶
func NewOffset(data Node, expr Expression) Node
type NodeExpression ¶
type NodeExpression struct {
// contains filtered or unexported fields
}
func NewNodeExpression ¶
func NewNodeExpression(node Node) *NodeExpression
func (*NodeExpression) Physical ¶
func (ne *NodeExpression) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
type OrderBy ¶
type OrderBy struct {
// contains filtered or unexported fields
}
func NewOrderBy ¶
func NewOrderBy(expressions []Expression, directions []OrderDirection, source Node) *OrderBy
type OrderDirection ¶
type OrderDirection string
type PhysicalPlanCreator ¶
type PhysicalPlanCreator struct {
// contains filtered or unexported fields
}
func NewPhysicalPlanCreator ¶
func NewPhysicalPlanCreator(repo *physical.DataSourceRepository) *PhysicalPlanCreator
func (*PhysicalPlanCreator) GetVariableName ¶
func (creator *PhysicalPlanCreator) GetVariableName() (out octosql.VariableName)
type Predicate ¶
type Predicate struct {
Left Expression
Relation Relation
Right Expression
}
func NewPredicate ¶
func NewPredicate(left Expression, relation Relation, right Expression) *Predicate
type PrefixOperator ¶
func NewPrefixOperator ¶
func NewPrefixOperator(child Formula, operator string) *PrefixOperator
type Requalifier ¶
type Requalifier struct {
// contains filtered or unexported fields
}
func NewRequalifier ¶
func NewRequalifier(qualifier string, child Node) *Requalifier
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[octosql.VariableName]TableValuedFunctionArgumentValue) *TableValuedFunction
type TableValuedFunctionArgumentValue ¶ added in v0.2.0
type TableValuedFunctionArgumentValue interface {
Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.TableValuedFunctionArgumentValue, octosql.Variables, error)
// 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 octosql.VariableName) *TableValuedFunctionArgumentValueDescriptor
func (*TableValuedFunctionArgumentValueDescriptor) Physical ¶ added in v0.2.0
func (arg *TableValuedFunctionArgumentValueDescriptor) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.TableValuedFunctionArgumentValue, octosql.Variables, error)
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) Physical ¶ added in v0.2.0
func (arg *TableValuedFunctionArgumentValueExpression) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.TableValuedFunctionArgumentValue, octosql.Variables, error)
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) Physical ¶ added in v0.2.0
func (arg *TableValuedFunctionArgumentValueTable) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.TableValuedFunctionArgumentValue, octosql.Variables, error)
type Tuple ¶
type Tuple struct {
// contains filtered or unexported fields
}
func NewTuple ¶
func NewTuple(expressions []Expression) *Tuple
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
type Variable ¶
type Variable struct {
// contains filtered or unexported fields
}
func NewVariable ¶
func NewVariable(name octosql.VariableName) *Variable
func (*Variable) Name ¶
func (v *Variable) Name() octosql.VariableName
func (*Variable) Physical ¶
func (v *Variable) Physical(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.Expression, octosql.Variables, error)
func (*Variable) PhysicalNamed ¶
func (v *Variable) PhysicalNamed(ctx context.Context, physicalCreator *PhysicalPlanCreator) (physical.NamedExpression, octosql.Variables, error)
Click to show internal directories.
Click to hide internal directories.