plan

package
v0.0.0-...-5265a8e Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2018 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Funcs map[string](func() *GueryFunc)

Functions

Types

type BinaryBooleanExpressionNode

type BinaryBooleanExpressionNode struct {
	Name                   string
	LeftBooleanExpression  *BooleanExpressionNode
	RightBooleanExpression *BooleanExpressionNode
	Operator               *gtype.Operator
}

//////////////////////

func (*BinaryBooleanExpressionNode) ExtractAggFunc

func (self *BinaryBooleanExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*BinaryBooleanExpressionNode) GetColumns

func (self *BinaryBooleanExpressionNode) GetColumns() ([]string, error)

func (*BinaryBooleanExpressionNode) GetType

func (*BinaryBooleanExpressionNode) Init

func (*BinaryBooleanExpressionNode) IsAggregate

func (self *BinaryBooleanExpressionNode) IsAggregate() bool

func (*BinaryBooleanExpressionNode) Result

func (self *BinaryBooleanExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type BinaryValueExpressionNode

type BinaryValueExpressionNode struct {
	Name                 string
	LeftValueExpression  *ValueExpressionNode
	RightValueExpression *ValueExpressionNode
	Operator             *gtype.Operator
}

///////////////

func (*BinaryValueExpressionNode) ExtractAggFunc

func (self *BinaryValueExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*BinaryValueExpressionNode) GetColumns

func (self *BinaryValueExpressionNode) GetColumns() ([]string, error)

func (*BinaryValueExpressionNode) GetType

func (*BinaryValueExpressionNode) Init

func (*BinaryValueExpressionNode) IsAggregate

func (self *BinaryValueExpressionNode) IsAggregate() bool

func (*BinaryValueExpressionNode) Result

func (self *BinaryValueExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type BooleanExpressionNode

type BooleanExpressionNode struct {
	Name                    string
	Predicated              *PredicatedNode
	NotBooleanExpression    *NotBooleanExpressionNode
	BinaryBooleanExpression *BinaryBooleanExpressionNode
}

func (*BooleanExpressionNode) ExtractAggFunc

func (self *BooleanExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*BooleanExpressionNode) GetColumns

func (self *BooleanExpressionNode) GetColumns() ([]string, error)

func (*BooleanExpressionNode) GetType

func (self *BooleanExpressionNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*BooleanExpressionNode) Init

func (self *BooleanExpressionNode) Init(md *metadata.Metadata) error

func (*BooleanExpressionNode) IsAggregate

func (self *BooleanExpressionNode) IsAggregate() bool

func (*BooleanExpressionNode) Result

func (self *BooleanExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type BooleanValueNode

type BooleanValueNode struct {
	Name string
	Bool bool
}

func (*BooleanValueNode) GetType

func (self *BooleanValueNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*BooleanValueNode) Init

func (self *BooleanValueNode) Init(md *metadata.Metadata) error

func (*BooleanValueNode) Result

func (self *BooleanValueNode) Result(input *row.RowsGroup) (interface{}, error)

type CaseNode

type CaseNode struct {
	Whens []*WhenClauseNode
	Else  *ExpressionNode
}

func (*CaseNode) ExtractAggFunc

func (self *CaseNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*CaseNode) GetColumns

func (self *CaseNode) GetColumns() ([]string, error)

func (*CaseNode) GetType

func (self *CaseNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*CaseNode) Init

func (self *CaseNode) Init(md *metadata.Metadata) error

func (*CaseNode) IsAggregate

func (self *CaseNode) IsAggregate() bool

func (*CaseNode) Result

func (self *CaseNode) Result(input *row.RowsGroup) (interface{}, error)

type ExpressionNode

type ExpressionNode struct {
	Name              string
	BooleanExpression *BooleanExpressionNode
}

func (*ExpressionNode) ExtractAggFunc

func (self *ExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*ExpressionNode) GetColumns

func (self *ExpressionNode) GetColumns() ([]string, error)

func (*ExpressionNode) GetType

func (self *ExpressionNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*ExpressionNode) Init

func (self *ExpressionNode) Init(md *metadata.Metadata) error

func (*ExpressionNode) IsAggregate

func (self *ExpressionNode) IsAggregate() bool

func (*ExpressionNode) Result

func (self *ExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type FuncCallNode

type FuncCallNode struct {
	FuncName      string
	ResColName    string //used in ExtractAggFunc
	Func          *GueryFunc
	SetQuantifier *gtype.QuantifierType
	Expressions   []*ExpressionNode
}

func NewFuncCallNode

func NewFuncCallNode(runtime *config.ConfigRuntime, name string, sq parser.ISetQuantifierContext, expressions []parser.IExpressionContext) *FuncCallNode

func (*FuncCallNode) GetColumns

func (self *FuncCallNode) GetColumns() ([]string, error)

func (*FuncCallNode) GetType

func (self *FuncCallNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*FuncCallNode) Init

func (self *FuncCallNode) Init(md *metadata.Metadata) error

func (*FuncCallNode) IsAggregate

func (self *FuncCallNode) IsAggregate() bool

func (*FuncCallNode) Result

func (self *FuncCallNode) Result(input *row.RowsGroup) (interface{}, error)

type GroupByNode

type GroupByNode struct {
	GroupingElements []*GroupingElementNode
}

func NewGroupByNode

func NewGroupByNode(runtime *config.ConfigRuntime, t parser.IGroupByContext) *GroupByNode

func (*GroupByNode) GetColumns

func (self *GroupByNode) GetColumns() ([]string, error)

func (*GroupByNode) Init

func (self *GroupByNode) Init(md *metadata.Metadata) error

func (*GroupByNode) Result

func (self *GroupByNode) Result(input *row.RowsGroup) ([]interface{}, error)

type GroupingElementNode

type GroupingElementNode struct {
	Expression *ExpressionNode
}

func (*GroupingElementNode) GetColumns

func (self *GroupingElementNode) GetColumns() ([]string, error)

func (*GroupingElementNode) GetType

func (self *GroupingElementNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*GroupingElementNode) Init

func (self *GroupingElementNode) Init(md *metadata.Metadata) error

func (*GroupingElementNode) IsAggregate

func (self *GroupingElementNode) IsAggregate() bool

func (*GroupingElementNode) Result

func (self *GroupingElementNode) Result(input *row.RowsGroup) (interface{}, error)

type GueryFunc

type GueryFunc struct {
	Name        string
	Result      func(input *row.RowsGroup, sq *gtype.QuantifierType, Expressions []*ExpressionNode) (interface{}, error)
	IsAggregate func(es []*ExpressionNode) bool
	GetType     func(md *metadata.Metadata, es []*ExpressionNode) (gtype.Type, error)
	Init        func()
}

func AggLocalFuncToAggGlobalFunc

func AggLocalFuncToAggGlobalFunc(f *GueryFunc) *GueryFunc

func NewACosFunc

func NewACosFunc() *GueryFunc

func NewACoshFunc

func NewACoshFunc() *GueryFunc

func NewASinFunc

func NewASinFunc() *GueryFunc

func NewASinhFunc

func NewASinhFunc() *GueryFunc

func NewATanFunc

func NewATanFunc() *GueryFunc

func NewATanhFunc

func NewATanhFunc() *GueryFunc

func NewAbsFunc

func NewAbsFunc() *GueryFunc

func NewAvgFunc

func NewAvgFunc() *GueryFunc

func NewAvgGlobalFunc

func NewAvgGlobalFunc() *GueryFunc

func NewCeilFunc

func NewCeilFunc() *GueryFunc

func NewConcatFunc

func NewConcatFunc() *GueryFunc

func NewCosFunc

func NewCosFunc() *GueryFunc

func NewCoshFunc

func NewCoshFunc() *GueryFunc

func NewCountFunc

func NewCountFunc() *GueryFunc

func NewCountGlobalFunc

func NewCountGlobalFunc() *GueryFunc

func NewDayFunc

func NewDayFunc() *GueryFunc

func NewEFunc

func NewEFunc() *GueryFunc

func NewFloorFunc

func NewFloorFunc() *GueryFunc

func NewHourFunc

func NewHourFunc() *GueryFunc

func NewLengthFunc

func NewLengthFunc() *GueryFunc

func NewLnFunc

func NewLnFunc() *GueryFunc

func NewLog10Func

func NewLog10Func() *GueryFunc

func NewLog2Func

func NewLog2Func() *GueryFunc

func NewLogFunc

func NewLogFunc() *GueryFunc

func NewLowerFunc

func NewLowerFunc() *GueryFunc

func NewMaxFunc

func NewMaxFunc() *GueryFunc

func NewMaxGlobalFunc

func NewMaxGlobalFunc() *GueryFunc

func NewMinFunc

func NewMinFunc() *GueryFunc

func NewMinGlobalFunc

func NewMinGlobalFunc() *GueryFunc

func NewMinuteFunc

func NewMinuteFunc() *GueryFunc

func NewMonthFunc

func NewMonthFunc() *GueryFunc

func NewNowFunc

func NewNowFunc() *GueryFunc

func NewPiFunc

func NewPiFunc() *GueryFunc

func NewPowFunc

func NewPowFunc() *GueryFunc

func NewRandomFunc

func NewRandomFunc() *GueryFunc

func NewReplaceFunc

func NewReplaceFunc() *GueryFunc

func NewReverseFunc

func NewReverseFunc() *GueryFunc

func NewRoundFunc

func NewRoundFunc() *GueryFunc

func NewSecondFunc

func NewSecondFunc() *GueryFunc

func NewSinFunc

func NewSinFunc() *GueryFunc

func NewSinhFunc

func NewSinhFunc() *GueryFunc

func NewSqrtFunc

func NewSqrtFunc() *GueryFunc

func NewSubstrFunc

func NewSubstrFunc() *GueryFunc

func NewSumFunc

func NewSumFunc() *GueryFunc

func NewSumGlobalFunc

func NewSumGlobalFunc() *GueryFunc

func NewTanFunc

func NewTanFunc() *GueryFunc

func NewTanhFunc

func NewTanhFunc() *GueryFunc

func NewUpperFunc

func NewUpperFunc() *GueryFunc

func NewYearFunc

func NewYearFunc() *GueryFunc

type IdentifierNode

type IdentifierNode struct {
	Str         *string
	Digit       *int
	NonReserved *string
}

func (*IdentifierNode) GetColumns

func (self *IdentifierNode) GetColumns() ([]string, error)

func (*IdentifierNode) GetText

func (self *IdentifierNode) GetText() string

func (*IdentifierNode) GetType

func (self *IdentifierNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*IdentifierNode) Init

func (self *IdentifierNode) Init(md *metadata.Metadata) error

func (*IdentifierNode) Result

func (self *IdentifierNode) Result(input *row.RowsGroup) (interface{}, error)

type JoinCriteriaNode

type JoinCriteriaNode struct {
	BooleanExpression *BooleanExpressionNode
	Identifiers       []*IdentifierNode
}

func (*JoinCriteriaNode) GetColumns

func (self *JoinCriteriaNode) GetColumns() ([]string, error)

func (*JoinCriteriaNode) Init

func (self *JoinCriteriaNode) Init(md *metadata.Metadata) error

func (*JoinCriteriaNode) Result

func (self *JoinCriteriaNode) Result(input *row.RowsGroup) (bool, error)

type JoinType

type JoinType int32
const (
	LEFTJOIN JoinType
	RIGHTJOIN
	INNERJOIN
)

type NotBooleanExpressionNode

type NotBooleanExpressionNode struct {
	Name              string
	BooleanExpression *BooleanExpressionNode
}

//////////////////////

func (*NotBooleanExpressionNode) ExtractAggFunc

func (self *NotBooleanExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*NotBooleanExpressionNode) GetColumns

func (self *NotBooleanExpressionNode) GetColumns() ([]string, error)

func (*NotBooleanExpressionNode) GetType

func (self *NotBooleanExpressionNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*NotBooleanExpressionNode) Init

func (*NotBooleanExpressionNode) IsAggregate

func (self *NotBooleanExpressionNode) IsAggregate() bool

func (*NotBooleanExpressionNode) Result

func (self *NotBooleanExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type NumberNode

type NumberNode struct {
	Name      string
	DoubleVal *float64
	IntVal    *int64
}

func NewNumberNode

func NewNumberNode(runtime *config.ConfigRuntime, t parser.INumberContext) *NumberNode

func (*NumberNode) GetType

func (self *NumberNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*NumberNode) Init

func (self *NumberNode) Init(md *metadata.Metadata) error

func (*NumberNode) Result

func (self *NumberNode) Result(input *row.RowsGroup) (interface{}, error)

type ParserNode

type ParserNode interface {
	GetType(md *metadata.Metadata) (gtype.Type, error)
	GetColumns() ([]string, error)
	Result(input *row.RowsGroup) (interface{}, error)
	IsAggregate() bool
}

type PlanAggregateFuncGlobalNode

type PlanAggregateFuncGlobalNode struct {
	Input     PlanNode
	Output    PlanNode
	FuncNodes []*FuncCallNode
	Metadata  *metadata.Metadata
}

func NewPlanAggregateFuncGlobalNode

func NewPlanAggregateFuncGlobalNode(runtime *config.ConfigRuntime, funcs []*FuncCallNode, input PlanNode) *PlanAggregateFuncGlobalNode

func (*PlanAggregateFuncGlobalNode) GetInputs

func (self *PlanAggregateFuncGlobalNode) GetInputs() []PlanNode

func (*PlanAggregateFuncGlobalNode) GetMetadata

func (self *PlanAggregateFuncGlobalNode) GetMetadata() *metadata.Metadata

func (*PlanAggregateFuncGlobalNode) GetNodeType

func (self *PlanAggregateFuncGlobalNode) GetNodeType() PlanNodeType

func (*PlanAggregateFuncGlobalNode) GetOutput

func (self *PlanAggregateFuncGlobalNode) GetOutput() PlanNode

func (*PlanAggregateFuncGlobalNode) SetInputs

func (self *PlanAggregateFuncGlobalNode) SetInputs(inputs []PlanNode)

func (*PlanAggregateFuncGlobalNode) SetMetadata

func (self *PlanAggregateFuncGlobalNode) SetMetadata() (err error)

func (*PlanAggregateFuncGlobalNode) SetOutput

func (self *PlanAggregateFuncGlobalNode) SetOutput(output PlanNode)

func (*PlanAggregateFuncGlobalNode) String

func (self *PlanAggregateFuncGlobalNode) String() string

type PlanAggregateFuncLocalNode

type PlanAggregateFuncLocalNode struct {
	Input     PlanNode
	Output    PlanNode
	FuncNodes []*FuncCallNode
	Metadata  *metadata.Metadata
}

func NewPlanAggregateFuncLocalNode

func NewPlanAggregateFuncLocalNode(runtime *config.ConfigRuntime, funcs []*FuncCallNode, input PlanNode) *PlanAggregateFuncLocalNode

func (*PlanAggregateFuncLocalNode) GetInputs

func (self *PlanAggregateFuncLocalNode) GetInputs() []PlanNode

func (*PlanAggregateFuncLocalNode) GetMetadata

func (self *PlanAggregateFuncLocalNode) GetMetadata() *metadata.Metadata

func (*PlanAggregateFuncLocalNode) GetNodeType

func (self *PlanAggregateFuncLocalNode) GetNodeType() PlanNodeType

func (*PlanAggregateFuncLocalNode) GetOutput

func (self *PlanAggregateFuncLocalNode) GetOutput() PlanNode

func (*PlanAggregateFuncLocalNode) SetInputs

func (self *PlanAggregateFuncLocalNode) SetInputs(inputs []PlanNode)

func (*PlanAggregateFuncLocalNode) SetMetadata

func (self *PlanAggregateFuncLocalNode) SetMetadata() (err error)

func (*PlanAggregateFuncLocalNode) SetOutput

func (self *PlanAggregateFuncLocalNode) SetOutput(output PlanNode)

func (*PlanAggregateFuncLocalNode) String

func (self *PlanAggregateFuncLocalNode) String() string

type PlanAggregateNode

type PlanAggregateNode struct {
	Input    PlanNode
	Output   PlanNode
	Metadata *metadata.Metadata
}

func NewPlanAggregateNode

func NewPlanAggregateNode(runtime *config.ConfigRuntime, input PlanNode) *PlanAggregateNode

func (*PlanAggregateNode) GetInputs

func (self *PlanAggregateNode) GetInputs() []PlanNode

func (*PlanAggregateNode) GetMetadata

func (self *PlanAggregateNode) GetMetadata() *metadata.Metadata

func (*PlanAggregateNode) GetNodeType

func (self *PlanAggregateNode) GetNodeType() PlanNodeType

func (*PlanAggregateNode) GetOutput

func (self *PlanAggregateNode) GetOutput() PlanNode

func (*PlanAggregateNode) SetInputs

func (self *PlanAggregateNode) SetInputs(inputs []PlanNode)

func (*PlanAggregateNode) SetMetadata

func (self *PlanAggregateNode) SetMetadata() (err error)

func (*PlanAggregateNode) SetOutput

func (self *PlanAggregateNode) SetOutput(output PlanNode)

func (*PlanAggregateNode) String

func (self *PlanAggregateNode) String() string

type PlanCombineNode

type PlanCombineNode struct {
	Inputs   []PlanNode
	Output   PlanNode
	Metadata *metadata.Metadata
}

func NewPlanCombineNode

func NewPlanCombineNode(runtime *config.ConfigRuntime, inputs []PlanNode) *PlanCombineNode

func (*PlanCombineNode) GetInputs

func (self *PlanCombineNode) GetInputs() []PlanNode

func (*PlanCombineNode) GetMetadata

func (self *PlanCombineNode) GetMetadata() *metadata.Metadata

func (*PlanCombineNode) GetNodeType

func (self *PlanCombineNode) GetNodeType() PlanNodeType

func (*PlanCombineNode) GetOutput

func (self *PlanCombineNode) GetOutput() PlanNode

func (*PlanCombineNode) SetInputs

func (self *PlanCombineNode) SetInputs(inputs []PlanNode)

func (*PlanCombineNode) SetMetadata

func (self *PlanCombineNode) SetMetadata() (err error)

func (*PlanCombineNode) SetOutput

func (self *PlanCombineNode) SetOutput(output PlanNode)

func (*PlanCombineNode) String

func (self *PlanCombineNode) String() string

type PlanDistinctGlobalNode

type PlanDistinctGlobalNode struct {
	Input       PlanNode
	Output      PlanNode
	Metadata    *metadata.Metadata
	Expressions []*ExpressionNode
}

func NewPlanDistinctGlobalNode

func NewPlanDistinctGlobalNode(runtime *config.ConfigRuntime, eps []*ExpressionNode, input PlanNode) *PlanDistinctGlobalNode

func (*PlanDistinctGlobalNode) AddExpressions

func (self *PlanDistinctGlobalNode) AddExpressions(nodes ...*ExpressionNode)

func (*PlanDistinctGlobalNode) GetInputs

func (self *PlanDistinctGlobalNode) GetInputs() []PlanNode

func (*PlanDistinctGlobalNode) GetMetadata

func (self *PlanDistinctGlobalNode) GetMetadata() *metadata.Metadata

func (*PlanDistinctGlobalNode) GetNodeType

func (self *PlanDistinctGlobalNode) GetNodeType() PlanNodeType

func (*PlanDistinctGlobalNode) GetOutput

func (self *PlanDistinctGlobalNode) GetOutput() PlanNode

func (*PlanDistinctGlobalNode) SetInputs

func (self *PlanDistinctGlobalNode) SetInputs(inputs []PlanNode)

func (*PlanDistinctGlobalNode) SetMetadata

func (self *PlanDistinctGlobalNode) SetMetadata() (err error)

func (*PlanDistinctGlobalNode) SetOutput

func (self *PlanDistinctGlobalNode) SetOutput(output PlanNode)

func (*PlanDistinctGlobalNode) String

func (self *PlanDistinctGlobalNode) String() string

type PlanDistinctLocalNode

type PlanDistinctLocalNode struct {
	Input       PlanNode
	Output      PlanNode
	Metadata    *metadata.Metadata
	Expressions []*ExpressionNode
}

func NewPlanDistinctLocalNode

func NewPlanDistinctLocalNode(runtime *config.ConfigRuntime, eps []*ExpressionNode, input PlanNode) *PlanDistinctLocalNode

func (*PlanDistinctLocalNode) AddExpressions

func (self *PlanDistinctLocalNode) AddExpressions(nodes ...*ExpressionNode)

func (*PlanDistinctLocalNode) GetInputs

func (self *PlanDistinctLocalNode) GetInputs() []PlanNode

func (*PlanDistinctLocalNode) GetMetadata

func (self *PlanDistinctLocalNode) GetMetadata() *metadata.Metadata

func (*PlanDistinctLocalNode) GetNodeType

func (self *PlanDistinctLocalNode) GetNodeType() PlanNodeType

func (*PlanDistinctLocalNode) GetOutput

func (self *PlanDistinctLocalNode) GetOutput() PlanNode

func (*PlanDistinctLocalNode) SetInputs

func (self *PlanDistinctLocalNode) SetInputs(inputs []PlanNode)

func (*PlanDistinctLocalNode) SetMetadata

func (self *PlanDistinctLocalNode) SetMetadata() (err error)

func (*PlanDistinctLocalNode) SetOutput

func (self *PlanDistinctLocalNode) SetOutput(output PlanNode)

func (*PlanDistinctLocalNode) String

func (self *PlanDistinctLocalNode) String() string

type PlanFilterNode

type PlanFilterNode struct {
	Input              PlanNode
	Output             PlanNode
	Metadata           *metadata.Metadata
	BooleanExpressions []*BooleanExpressionNode
}

func (*PlanFilterNode) AddBooleanExpressions

func (self *PlanFilterNode) AddBooleanExpressions(nodes ...*BooleanExpressionNode)

func (*PlanFilterNode) GetInputs

func (self *PlanFilterNode) GetInputs() []PlanNode

func (*PlanFilterNode) GetMetadata

func (self *PlanFilterNode) GetMetadata() *metadata.Metadata

func (*PlanFilterNode) GetNodeType

func (self *PlanFilterNode) GetNodeType() PlanNodeType

func (*PlanFilterNode) GetOutput

func (self *PlanFilterNode) GetOutput() PlanNode

func (*PlanFilterNode) SetInputs

func (self *PlanFilterNode) SetInputs(inputs []PlanNode)

func (*PlanFilterNode) SetMetadata

func (self *PlanFilterNode) SetMetadata() (err error)

func (*PlanFilterNode) SetOutput

func (self *PlanFilterNode) SetOutput(output PlanNode)

func (*PlanFilterNode) String

func (self *PlanFilterNode) String() string

type PlanGroupByNode

type PlanGroupByNode struct {
	Input    PlanNode
	Output   PlanNode
	Metadata *metadata.Metadata
	GroupBy  *GroupByNode
}

func NewPlanGroupByNode

func NewPlanGroupByNode(runtime *config.ConfigRuntime, input PlanNode, groupBy parser.IGroupByContext) *PlanGroupByNode

func (*PlanGroupByNode) GetInputs

func (self *PlanGroupByNode) GetInputs() []PlanNode

func (*PlanGroupByNode) GetMetadata

func (self *PlanGroupByNode) GetMetadata() *metadata.Metadata

func (*PlanGroupByNode) GetNodeType

func (self *PlanGroupByNode) GetNodeType() PlanNodeType

func (*PlanGroupByNode) GetOutput

func (self *PlanGroupByNode) GetOutput() PlanNode

func (*PlanGroupByNode) SetInputs

func (self *PlanGroupByNode) SetInputs(inputs []PlanNode)

func (*PlanGroupByNode) SetMetadata

func (self *PlanGroupByNode) SetMetadata() (err error)

func (*PlanGroupByNode) SetOutput

func (self *PlanGroupByNode) SetOutput(output PlanNode)

func (*PlanGroupByNode) String

func (self *PlanGroupByNode) String() string

type PlanHashJoinNode

type PlanHashJoinNode struct {
	Metadata              *metadata.Metadata
	LeftInput, RightInput PlanNode
	Output                PlanNode
	JoinType              JoinType
	JoinCriteria          *JoinCriteriaNode
	LeftKeys, RightKeys   []*ValueExpressionNode
}

func NewPlanHashJoinNode

func NewPlanHashJoinNode(runtime *config.ConfigRuntime, leftInput PlanNode, rightInput PlanNode, joinType JoinType, joinCriteria *JoinCriteriaNode, leftKeys, rightKeys []*ValueExpressionNode) *PlanHashJoinNode

func NewPlanHashJoinNodeFromJoinNode

func NewPlanHashJoinNodeFromJoinNode(runtime *config.ConfigRuntime, node *PlanJoinNode, leftKeys, rightKeys []*ValueExpressionNode) *PlanHashJoinNode

func (*PlanHashJoinNode) GetInputs

func (self *PlanHashJoinNode) GetInputs() []PlanNode

func (*PlanHashJoinNode) GetMetadata

func (self *PlanHashJoinNode) GetMetadata() *metadata.Metadata

func (*PlanHashJoinNode) GetNodeType

func (self *PlanHashJoinNode) GetNodeType() PlanNodeType

func (*PlanHashJoinNode) GetOutput

func (self *PlanHashJoinNode) GetOutput() PlanNode

func (*PlanHashJoinNode) SetInputs

func (self *PlanHashJoinNode) SetInputs(inputs []PlanNode)

func (*PlanHashJoinNode) SetMetadata

func (self *PlanHashJoinNode) SetMetadata() (err error)

func (*PlanHashJoinNode) SetOutput

func (self *PlanHashJoinNode) SetOutput(output PlanNode)

func (*PlanHashJoinNode) String

func (self *PlanHashJoinNode) String() string

type PlanJoinNode

type PlanJoinNode struct {
	Metadata              *metadata.Metadata
	LeftInput, RightInput PlanNode
	Output                PlanNode
	JoinType              JoinType
	JoinCriteria          *JoinCriteriaNode
}

func NewPlanJoinNode

func NewPlanJoinNode(runtime *config.ConfigRuntime, leftInput PlanNode, rightInput PlanNode, joinType JoinType, joinCriteria *JoinCriteriaNode) *PlanJoinNode

func (*PlanJoinNode) GetInputs

func (self *PlanJoinNode) GetInputs() []PlanNode

func (*PlanJoinNode) GetMetadata

func (self *PlanJoinNode) GetMetadata() *metadata.Metadata

func (*PlanJoinNode) GetNodeType

func (self *PlanJoinNode) GetNodeType() PlanNodeType

func (*PlanJoinNode) GetOutput

func (self *PlanJoinNode) GetOutput() PlanNode

func (*PlanJoinNode) SetInputs

func (self *PlanJoinNode) SetInputs(inputs []PlanNode)

func (*PlanJoinNode) SetMetadata

func (self *PlanJoinNode) SetMetadata() (err error)

func (*PlanJoinNode) SetOutput

func (self *PlanJoinNode) SetOutput(output PlanNode)

func (*PlanJoinNode) String

func (self *PlanJoinNode) String() string

type PlanLimitNode

type PlanLimitNode struct {
	Input       PlanNode
	Output      PlanNode
	Metadata    *metadata.Metadata
	LimitNumber *int64
}

func NewPlanLimitNode

func NewPlanLimitNode(runtime *config.ConfigRuntime, input PlanNode, t antlr.TerminalNode) *PlanLimitNode

func (*PlanLimitNode) GetInputs

func (self *PlanLimitNode) GetInputs() []PlanNode

func (*PlanLimitNode) GetMetadata

func (self *PlanLimitNode) GetMetadata() *metadata.Metadata

func (*PlanLimitNode) GetNodeType

func (self *PlanLimitNode) GetNodeType() PlanNodeType

func (*PlanLimitNode) GetOutput

func (self *PlanLimitNode) GetOutput() PlanNode

func (*PlanLimitNode) SetInputs

func (self *PlanLimitNode) SetInputs(inputs []PlanNode)

func (*PlanLimitNode) SetMetadata

func (self *PlanLimitNode) SetMetadata() error

func (*PlanLimitNode) SetOutput

func (self *PlanLimitNode) SetOutput(output PlanNode)

func (*PlanLimitNode) String

func (self *PlanLimitNode) String() string

type PlanNode

type PlanNode interface {
	GetNodeType() PlanNodeType
	SetMetadata() error
	GetMetadata() *metadata.Metadata

	GetOutput() PlanNode
	SetOutput(output PlanNode)

	GetInputs() []PlanNode
	SetInputs(input []PlanNode)

	String() string
}

func NewPlanNodeFromQuery

func NewPlanNodeFromQuery(runtime *config.ConfigRuntime, t parser.IQueryContext) PlanNode

func NewPlanNodeFromQueryPrimary

func NewPlanNodeFromQueryPrimary(runtime *config.ConfigRuntime, t parser.IQueryPrimaryContext) PlanNode

func NewPlanNodeFromQuerySpecification

func NewPlanNodeFromQuerySpecification(runtime *config.ConfigRuntime, t parser.IQuerySpecificationContext) PlanNode

func NewPlanNodeFromQueryTerm

func NewPlanNodeFromQueryTerm(runtime *config.ConfigRuntime, t parser.IQueryTermContext) PlanNode

func NewPlanNodeFromRelation

func NewPlanNodeFromRelation(runtime *config.ConfigRuntime, t parser.IRelationContext) PlanNode

func NewPlanNodeFromRelationPrimary

func NewPlanNodeFromRelationPrimary(runtime *config.ConfigRuntime, t parser.IRelationPrimaryContext) PlanNode

func NewPlanNodeFromRelations

func NewPlanNodeFromRelations(runtime *config.ConfigRuntime, ts []parser.IRelationContext) PlanNode

func NewPlanNodeFromSampleRelation

func NewPlanNodeFromSampleRelation(runtime *config.ConfigRuntime, t parser.ISampledRelationContext) PlanNode

func NewPlanNodeFromSingleStatement

func NewPlanNodeFromSingleStatement(runtime *config.ConfigRuntime, t parser.ISingleStatementContext) PlanNode

func NewPlanNodeFromStatement

func NewPlanNodeFromStatement(runtime *config.ConfigRuntime, t parser.IStatementContext) PlanNode

type PlanNodeType

type PlanNodeType int32
const (
	SCANNODE PlanNodeType
	JOINNODE
	HASHJOINNODE
	FILTERNODE
	ORDERBYNODE
	LIMITNODE
	SELECTNODE
	UNIONNODE
	HAVINGNODE
	RENAMENODE
	COMBINENODE
	GROUPBYNODE
	AGGREGATENODE
	AGGREGATEFUNCLOCALNODE
	AGGREGATEFUNCGLOBALNODE
	SHUFFLENODE
	DISTINCTLOCALNODE
	DISTINCTGLOBALNODE

	USENODE
	SHOWNODE
)

type PlanOrderByNode

type PlanOrderByNode struct {
	Input     PlanNode
	Output    PlanNode
	Metadata  *metadata.Metadata
	SortItems []*SortItemNode
	OrderType gtype.OrderType
}

func NewPlanOrderByNode

func NewPlanOrderByNode(runtime *config.ConfigRuntime, input PlanNode, items []parser.ISortItemContext) *PlanOrderByNode

func (*PlanOrderByNode) GetInputs

func (self *PlanOrderByNode) GetInputs() []PlanNode

func (*PlanOrderByNode) GetMetadata

func (self *PlanOrderByNode) GetMetadata() *metadata.Metadata

func (*PlanOrderByNode) GetNodeType

func (self *PlanOrderByNode) GetNodeType() PlanNodeType

func (*PlanOrderByNode) GetOutput

func (self *PlanOrderByNode) GetOutput() PlanNode

func (*PlanOrderByNode) SetInputs

func (self *PlanOrderByNode) SetInputs(inputs []PlanNode)

func (*PlanOrderByNode) SetMetadata

func (self *PlanOrderByNode) SetMetadata() error

func (*PlanOrderByNode) SetOutput

func (self *PlanOrderByNode) SetOutput(output PlanNode)

func (*PlanOrderByNode) String

func (self *PlanOrderByNode) String() string

type PlanRenameNode

type PlanRenameNode struct {
	Rename   string
	Metadata *metadata.Metadata
	Input    PlanNode
	Output   PlanNode
}

func NewPlanRenameNode

func NewPlanRenameNode(runtime *config.ConfigRuntime, input PlanNode, tname string) *PlanRenameNode

func (*PlanRenameNode) GetInputs

func (self *PlanRenameNode) GetInputs() []PlanNode

func (*PlanRenameNode) GetMetadata

func (self *PlanRenameNode) GetMetadata() *metadata.Metadata

func (*PlanRenameNode) GetNodeType

func (self *PlanRenameNode) GetNodeType() PlanNodeType

func (*PlanRenameNode) GetOutput

func (self *PlanRenameNode) GetOutput() PlanNode

func (*PlanRenameNode) SetInputs

func (self *PlanRenameNode) SetInputs(inputs []PlanNode)

func (*PlanRenameNode) SetMetadata

func (self *PlanRenameNode) SetMetadata() (err error)

func (*PlanRenameNode) SetOutput

func (self *PlanRenameNode) SetOutput(output PlanNode)

func (*PlanRenameNode) String

func (self *PlanRenameNode) String() string

type PlanScanNode

type PlanScanNode struct {
	Catalog       string
	Schema        string
	Table         string
	Name          string
	Metadata      *metadata.Metadata
	InputMetadata *metadata.Metadata
	PartitionInfo *partition.PartitionInfo
	Output        PlanNode
	Filters       []*BooleanExpressionNode
}

func NewPlanScanNode

func NewPlanScanNode(runtime *config.ConfigRuntime, name string) *PlanScanNode

func (*PlanScanNode) GetInputs

func (self *PlanScanNode) GetInputs() []PlanNode

func (*PlanScanNode) GetMetadata

func (self *PlanScanNode) GetMetadata() *metadata.Metadata

func (*PlanScanNode) GetNodeType

func (self *PlanScanNode) GetNodeType() PlanNodeType

func (*PlanScanNode) GetOutput

func (self *PlanScanNode) GetOutput() PlanNode

func (*PlanScanNode) SetInputs

func (self *PlanScanNode) SetInputs(inputs []PlanNode)

func (*PlanScanNode) SetMetadata

func (self *PlanScanNode) SetMetadata() error

func (*PlanScanNode) SetOutput

func (self *PlanScanNode) SetOutput(output PlanNode)

func (*PlanScanNode) String

func (self *PlanScanNode) String() string

type PlanSelectNode

type PlanSelectNode struct {
	Input         PlanNode
	Output        PlanNode
	Metadata      *metadata.Metadata
	SetQuantifier *gtype.QuantifierType
	SelectItems   []*SelectItemNode
	Having        *BooleanExpressionNode
	IsAggregate   bool
}

func (*PlanSelectNode) GetInputs

func (self *PlanSelectNode) GetInputs() []PlanNode

func (*PlanSelectNode) GetMetadata

func (self *PlanSelectNode) GetMetadata() *metadata.Metadata

func (*PlanSelectNode) GetNodeType

func (self *PlanSelectNode) GetNodeType() PlanNodeType

func (*PlanSelectNode) GetOutput

func (self *PlanSelectNode) GetOutput() PlanNode

func (*PlanSelectNode) SetInputs

func (self *PlanSelectNode) SetInputs(inputs []PlanNode)

func (*PlanSelectNode) SetMetadata

func (self *PlanSelectNode) SetMetadata() error

func (*PlanSelectNode) SetOutput

func (self *PlanSelectNode) SetOutput(output PlanNode)

func (*PlanSelectNode) String

func (self *PlanSelectNode) String() string

type PlanShowNode

type PlanShowNode struct {
	Input    PlanNode
	Output   PlanNode
	Metadata *metadata.Metadata
	ShowType PlanShowNodeType

	//show catalogs/schemas/tables/columns/createtable/createview
	Catalog     string
	Schema      string
	Table       string
	LikePattern *string
	Escape      *string
}

func NewPlanShowNodeColumns

func NewPlanShowNodeColumns(runtime *config.ConfigRuntime, catalog, schema, table string) *PlanShowNode

func NewPlanShowNodePartitions

func NewPlanShowNodePartitions(runtime *config.ConfigRuntime, catalog, schema, table string) *PlanShowNode

func NewPlanShowNodeSchemas

func NewPlanShowNodeSchemas(runtime *config.ConfigRuntime, catalog string, like, escape *string) *PlanShowNode

func NewPlanShowNodeTables

func NewPlanShowNodeTables(runtime *config.ConfigRuntime, catalog, schema string, like, escape *string) *PlanShowNode

func (*PlanShowNode) GetInputs

func (self *PlanShowNode) GetInputs() []PlanNode

func (*PlanShowNode) GetMetadata

func (self *PlanShowNode) GetMetadata() *metadata.Metadata

func (*PlanShowNode) GetNodeType

func (self *PlanShowNode) GetNodeType() PlanNodeType

func (*PlanShowNode) GetOutput

func (self *PlanShowNode) GetOutput() PlanNode

func (*PlanShowNode) SetInputs

func (self *PlanShowNode) SetInputs(inputs []PlanNode)

func (*PlanShowNode) SetMetadata

func (self *PlanShowNode) SetMetadata() error

func (*PlanShowNode) SetOutput

func (self *PlanShowNode) SetOutput(output PlanNode)

func (*PlanShowNode) String

func (self *PlanShowNode) String() string

type PlanShowNodeType

type PlanShowNodeType int32
const (
	SHOWCATALOGS PlanShowNodeType
	SHOWSCHEMAS
	SHOWTABLES
	SHOWCOLUMNS
	SHOWSTATS
	SHOWPARTITIONS
	SHOWCREATETABLE
	SHOWCREATEVIEW
)

func (PlanShowNodeType) String

func (self PlanShowNodeType) String() string

type PlanShuffleNode

type PlanShuffleNode struct {
	Input              PlanNode
	Output             PlanNode
	Metadata           *metadata.Metadata
	BooleanExpressions []*BooleanExpressionNode
}

func (*PlanShuffleNode) AddBooleanExpressions

func (self *PlanShuffleNode) AddBooleanExpressions(nodes ...*BooleanExpressionNode)

func (*PlanShuffleNode) GetInputs

func (self *PlanShuffleNode) GetInputs() []PlanNode

func (*PlanShuffleNode) GetMetadata

func (self *PlanShuffleNode) GetMetadata() *metadata.Metadata

func (*PlanShuffleNode) GetNodeType

func (self *PlanShuffleNode) GetNodeType() PlanNodeType

func (*PlanShuffleNode) GetOutput

func (self *PlanShuffleNode) GetOutput() PlanNode

func (*PlanShuffleNode) SetInputs

func (self *PlanShuffleNode) SetInputs(inputs []PlanNode)

func (*PlanShuffleNode) SetMetadata

func (self *PlanShuffleNode) SetMetadata() (err error)

func (*PlanShuffleNode) SetOutput

func (self *PlanShuffleNode) SetOutput(output PlanNode)

func (*PlanShuffleNode) String

func (self *PlanShuffleNode) String() string

type PlanUnionNode

type PlanUnionNode struct {
	LeftInput  PlanNode
	RightInput PlanNode
	Output     PlanNode
	Operator   UnionType
	Metadata   *metadata.Metadata
}

func NewPlanUnionNode

func NewPlanUnionNode(runtime *config.ConfigRuntime, left, right PlanNode, op antlr.Token) *PlanUnionNode

func (*PlanUnionNode) GetInputs

func (self *PlanUnionNode) GetInputs() []PlanNode

func (*PlanUnionNode) GetMetadata

func (self *PlanUnionNode) GetMetadata() *metadata.Metadata

func (*PlanUnionNode) GetNodeType

func (self *PlanUnionNode) GetNodeType() PlanNodeType

func (*PlanUnionNode) GetOutput

func (self *PlanUnionNode) GetOutput() PlanNode

func (*PlanUnionNode) SetInputs

func (self *PlanUnionNode) SetInputs(inputs []PlanNode)

func (*PlanUnionNode) SetMetadata

func (self *PlanUnionNode) SetMetadata() (err error)

func (*PlanUnionNode) SetOutput

func (self *PlanUnionNode) SetOutput(output PlanNode)

func (*PlanUnionNode) String

func (self *PlanUnionNode) String() string

type PlanUseNode

type PlanUseNode struct {
	Catalog, Schema string
}

func NewPlanUseNode

func NewPlanUseNode(runtime *config.ConfigRuntime, ct, sh string) *PlanUseNode

func (*PlanUseNode) GetInputs

func (self *PlanUseNode) GetInputs() []PlanNode

func (*PlanUseNode) GetMetadata

func (self *PlanUseNode) GetMetadata() *metadata.Metadata

func (*PlanUseNode) GetNodeType

func (self *PlanUseNode) GetNodeType() PlanNodeType

func (*PlanUseNode) GetOutput

func (self *PlanUseNode) GetOutput() PlanNode

func (*PlanUseNode) SetInputs

func (self *PlanUseNode) SetInputs(input []PlanNode)

func (*PlanUseNode) SetMetadata

func (self *PlanUseNode) SetMetadata() error

func (*PlanUseNode) SetOutput

func (self *PlanUseNode) SetOutput(output PlanNode)

func (*PlanUseNode) String

func (self *PlanUseNode) String() string

type PredicateNode

type PredicateNode struct {
	ComparisonOperator   *gtype.Operator
	RightValueExpression *ValueExpressionNode
}

func NewPredicateNode

func NewPredicateNode(runtime *config.ConfigRuntime, t parser.IPredicateContext) *PredicateNode

func (*PredicateNode) ExtractAggFunc

func (self *PredicateNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*PredicateNode) GetColumns

func (self *PredicateNode) GetColumns() ([]string, error)

func (*PredicateNode) GetType

func (self *PredicateNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*PredicateNode) Init

func (self *PredicateNode) Init(md *metadata.Metadata) error

func (*PredicateNode) Result

func (self *PredicateNode) Result(valsi interface{}, input *row.RowsGroup) (interface{}, error)

type PredicatedNode

type PredicatedNode struct {
	Name            string
	ValueExpression *ValueExpressionNode
	Predicate       *PredicateNode
}

func (*PredicatedNode) ExtractAggFunc

func (self *PredicatedNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*PredicatedNode) GetColumns

func (self *PredicatedNode) GetColumns() ([]string, error)

func (*PredicatedNode) GetType

func (self *PredicatedNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*PredicatedNode) Init

func (self *PredicatedNode) Init(md *metadata.Metadata) error

func (*PredicatedNode) IsAggregate

func (self *PredicatedNode) IsAggregate() bool

func (*PredicatedNode) Result

func (self *PredicatedNode) Result(input *row.RowsGroup) (interface{}, error)

type PrimaryExpressionNode

type PrimaryExpressionNode struct {
	//	Null         *NullNode
	Name string

	Number       *NumberNode
	BooleanValue *BooleanValueNode
	StringValue  *StringValueNode
	Identifier   *IdentifierNode

	//Func
	FuncCall *FuncCallNode
	//
	ParenthesizedExpression *ExpressionNode

	//t.name
	Base      *PrimaryExpressionNode
	FieldName *IdentifierNode
	Index     int //for performance

	//case when
	Case *CaseNode
}

func (*PrimaryExpressionNode) ExtractAggFunc

func (self *PrimaryExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*PrimaryExpressionNode) GetColumns

func (self *PrimaryExpressionNode) GetColumns() ([]string, error)

func (*PrimaryExpressionNode) GetType

func (self *PrimaryExpressionNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*PrimaryExpressionNode) Init

func (self *PrimaryExpressionNode) Init(md *metadata.Metadata) error

func (*PrimaryExpressionNode) IsAggregate

func (self *PrimaryExpressionNode) IsAggregate() bool

func (*PrimaryExpressionNode) Result

func (self *PrimaryExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type QualifiedNameNode

type QualifiedNameNode struct {
	Name string
}

func (*QualifiedNameNode) Init

func (self *QualifiedNameNode) Init(md *metadata.Metadata) error

func (*QualifiedNameNode) Result

func (self *QualifiedNameNode) Result() string

type SelectItemNode

type SelectItemNode struct {
	Expression    *ExpressionNode
	QualifiedName *QualifiedNameNode
	Identifier    *IdentifierNode
	Names         []string
}

func (*SelectItemNode) ExtractAggFunc

func (self *SelectItemNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*SelectItemNode) GetColumns

func (self *SelectItemNode) GetColumns(md *metadata.Metadata) ([]string, error)

get the columns needed in SelectItem

func (*SelectItemNode) GetNames

func (self *SelectItemNode) GetNames() []string

func (*SelectItemNode) GetNamesAndTypes

func (self *SelectItemNode) GetNamesAndTypes(md *metadata.Metadata) ([]string, []gtype.Type, error)

func (*SelectItemNode) Init

func (self *SelectItemNode) Init(md *metadata.Metadata) error

func (*SelectItemNode) IsAggregate

func (self *SelectItemNode) IsAggregate() bool

func (*SelectItemNode) Result

func (self *SelectItemNode) Result(input *row.RowsGroup) ([]interface{}, error)

type SortItemNode

type SortItemNode struct {
	Expression *ExpressionNode
	OrderType  gtype.OrderType
}

func NewSortItemNode

func NewSortItemNode(runtime *config.ConfigRuntime, t parser.ISortItemContext) *SortItemNode

func (*SortItemNode) GetColumns

func (self *SortItemNode) GetColumns() ([]string, error)

func (*SortItemNode) GetType

func (self *SortItemNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*SortItemNode) Init

func (self *SortItemNode) Init(md *metadata.Metadata) error

func (*SortItemNode) IsAggregate

func (self *SortItemNode) IsAggregate() bool

func (*SortItemNode) Result

func (self *SortItemNode) Result(input *row.RowsGroup) (interface{}, error)

type StringValueNode

type StringValueNode struct {
	Name string
	Str  string
}

func (*StringValueNode) GetType

func (self *StringValueNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*StringValueNode) Init

func (self *StringValueNode) Init(md *metadata.Metadata) error

func (*StringValueNode) Result

func (self *StringValueNode) Result(input *row.RowsGroup) (interface{}, error)

type UnionType

type UnionType int32
const (
	INTERSECT UnionType
	UNION
	EXCEPT
)

type ValueExpressionNode

type ValueExpressionNode struct {
	Name                  string
	PrimaryExpression     *PrimaryExpressionNode
	Operator              *gtype.Operator
	ValueExpression       *ValueExpressionNode
	BinaryVauleExpression *BinaryValueExpressionNode
}

func (*ValueExpressionNode) ExtractAggFunc

func (self *ValueExpressionNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*ValueExpressionNode) GetColumns

func (self *ValueExpressionNode) GetColumns() ([]string, error)

func (*ValueExpressionNode) GetType

func (self *ValueExpressionNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*ValueExpressionNode) Init

func (self *ValueExpressionNode) Init(md *metadata.Metadata) error

func (*ValueExpressionNode) IsAggregate

func (self *ValueExpressionNode) IsAggregate() bool

func (*ValueExpressionNode) Result

func (self *ValueExpressionNode) Result(input *row.RowsGroup) (interface{}, error)

type WhenClauseNode

type WhenClauseNode struct {
	Condition *ExpressionNode
	Res       *ExpressionNode
}

//////

func NewWhenClauseNode

func NewWhenClauseNode(runtime *config.ConfigRuntime, wh parser.IWhenClauseContext) *WhenClauseNode

func (*WhenClauseNode) ExtractAggFunc

func (self *WhenClauseNode) ExtractAggFunc(res *[]*FuncCallNode)

func (*WhenClauseNode) GetColumns

func (self *WhenClauseNode) GetColumns() ([]string, error)

func (*WhenClauseNode) GetType

func (self *WhenClauseNode) GetType(md *metadata.Metadata) (gtype.Type, error)

func (*WhenClauseNode) Init

func (self *WhenClauseNode) Init(md *metadata.Metadata) error

func (*WhenClauseNode) IsAggregate

func (self *WhenClauseNode) IsAggregate() bool

func (*WhenClauseNode) Result

func (self *WhenClauseNode) Result(input *row.RowsGroup) (interface{}, error)

Jump to

Keyboard shortcuts

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