Documentation
¶
Overview ¶
Copyright (c) 2013 Couchbase, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Variables
- func CollateJSON(key1, key2 interface{}) int
- func DisableDeveloperFunctions()
- func EnableDeveloperFunctions()
- func RoundFloat(x float64, prec int) float64
- func TruncateFloat(x float64, prec int) float64
- func ValueInBooleanContext(val interface{}) interface{}
- type AggregateFunctionCall
- type AggregateFunctionCallExpression
- type AndOperator
- type BinaryOperator
- func (this *BinaryOperator) Dependencies() ExpressionList
- func (this *BinaryOperator) EquivalentTo(t Expression) bool
- func (this *BinaryOperator) EvaluateBoth(context *dparval.Value) (*dparval.Value, *dparval.Value, error)
- func (this *BinaryOperator) EvaluateBothRequireNumber(context *dparval.Value) (float64, float64, bool, error)
- func (this *BinaryOperator) EvaluateBothRequireString(context *dparval.Value) (string, string, bool, error)
- func (this *BinaryOperator) GetLeft() Expression
- func (this *BinaryOperator) GetRight() Expression
- func (this *BinaryOperator) Operator() string
- func (this *BinaryOperator) SetLeft(left Expression)
- func (this *BinaryOperator) SetRight(right Expression)
- func (this *BinaryOperator) String() string
- type BinaryOperatorExpression
- type BracketMemberOperator
- func (this *BracketMemberOperator) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *BracketMemberOperator) Copy() Expression
- func (this *BracketMemberOperator) Dependencies() ExpressionList
- func (this *BracketMemberOperator) EquivalentTo(t Expression) bool
- func (this *BracketMemberOperator) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *BracketMemberOperator) String() string
- func (this *BracketMemberOperator) UnmarshalJSON(data []byte) error
- type BracketSliceMemberOperator
- func (this *BracketSliceMemberOperator) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *BracketSliceMemberOperator) Copy() Expression
- func (this *BracketSliceMemberOperator) Dependencies() ExpressionList
- func (this *BracketSliceMemberOperator) EquivalentTo(t Expression) bool
- func (this *BracketSliceMemberOperator) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *BracketSliceMemberOperator) String() string
- func (this *BracketSliceMemberOperator) UnmarshalJSON(data []byte) error
- type CaseOperator
- func (this *CaseOperator) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *CaseOperator) Copy() Expression
- func (this *CaseOperator) Dependencies() ExpressionList
- func (this *CaseOperator) EquivalentTo(t Expression) bool
- func (this *CaseOperator) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *CaseOperator) String() string
- type ChangeSignOperator
- type CollectionAllOperator
- type CollectionAnyOperator
- type CollectionArrayOperator
- type CollectionFirstOperator
- type CollectionOperator
- func (this *CollectionOperator) Dependencies() ExpressionList
- func (this *CollectionOperator) EquivalentTo(t Expression) bool
- func (this *CollectionOperator) GetAs() string
- func (this *CollectionOperator) GetCondition() Expression
- func (this *CollectionOperator) GetOutput() Expression
- func (this *CollectionOperator) GetOver() Expression
- func (this *CollectionOperator) Operator() string
- func (this *CollectionOperator) SetAs(as string)
- func (this *CollectionOperator) SetCondition(condition Expression)
- func (this *CollectionOperator) SetOutput(output Expression)
- func (this *CollectionOperator) SetOver(over Expression)
- func (this *CollectionOperator) String() string
- type CollectionOperatorExpression
- type CommutativeBinaryOperator
- type CreateIndexStatement
- type DivideOperator
- type DotMemberOperator
- func (this *DotMemberOperator) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *DotMemberOperator) Copy() Expression
- func (this *DotMemberOperator) Dependencies() ExpressionList
- func (this *DotMemberOperator) EquivalentTo(t Expression) bool
- func (this *DotMemberOperator) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *DotMemberOperator) String() string
- func (this *DotMemberOperator) UnmarshalJSON(data []byte) error
- type DropIndexStatement
- type DuplicateAlias
- type EqualToOperator
- type Expression
- type ExpressionAggregateFinder
- type ExpressionCNF
- type ExpressionEquivalenceChecker
- type ExpressionFormalNotationConverter
- func (this *ExpressionFormalNotationConverter) Visit(e Expression) (Expression, error)
- func (this *ExpressionFormalNotationConverter) VisitCollectionChild(expr CollectionOperatorExpression) error
- func (this *ExpressionFormalNotationConverter) VisitDotMemberChild(expr *DotMemberOperator) (Expression, error)
- func (this *ExpressionFormalNotationConverter) VisitFunctionCall(expr FunctionCallExpression) error
- func (this *ExpressionFormalNotationConverter) VisitProperty(expr *Property) (Expression, error)
- type ExpressionFunctionalDependencyChecker
- type ExpressionList
- type ExpressionNNF
- type ExpressionSimplifier
- type ExpressionValidator
- type ExpressionVisitor
- type From
- type FunctionArgExpression
- type FunctionArgExpressionList
- type FunctionCall
- func (this *FunctionCall) Dependencies() ExpressionList
- func (this *FunctionCall) EquivalentTo(t Expression) bool
- func (this *FunctionCall) EvaluateBoth(context *dparval.Value) (*dparval.Value, *dparval.Value, error)
- func (this *FunctionCall) EvaluateBothRequireArray(context *dparval.Value) ([]interface{}, []interface{}, bool, error)
- func (this *FunctionCall) EvaluateOperandsForArrayAppend(context *dparval.Value) ([]interface{}, error)
- func (this *FunctionCall) EvaluateOperandsForArrayPrepend(context *dparval.Value) ([]interface{}, error)
- func (this *FunctionCall) EvaluateOperandsForArrayRemove(context *dparval.Value) ([]interface{}, error)
- func (this *FunctionCall) GetName() string
- func (this *FunctionCall) GetOperands() FunctionArgExpressionList
- func (this *FunctionCall) IsDistinct() bool
- func (this *FunctionCall) SetDistinct(distinct bool)
- func (this *FunctionCall) SetOperands(operands FunctionArgExpressionList)
- func (this *FunctionCall) String() string
- func (this *FunctionCall) ValidateArity() error
- func (this *FunctionCall) ValidateDistinct() error
- func (this *FunctionCall) ValidateStars() error
- type FunctionCallArrayAgg
- func (this *FunctionCallArrayAgg) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *FunctionCallArrayAgg) Copy() Expression
- func (this *FunctionCallArrayAgg) DefaultAggregate(group *dparval.Value) error
- func (this *FunctionCallArrayAgg) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *FunctionCallArrayAgg) UpdateAggregate(group *dparval.Value, item *dparval.Value) error
- type FunctionCallArrayAppend
- type FunctionCallArrayConcat
- type FunctionCallArrayLength
- type FunctionCallArrayPrepend
- type FunctionCallArrayRemove
- type FunctionCallAvg
- func (this *FunctionCallAvg) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *FunctionCallAvg) Copy() Expression
- func (this *FunctionCallAvg) DefaultAggregate(group *dparval.Value) error
- func (this *FunctionCallAvg) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *FunctionCallAvg) UpdateAggregate(group *dparval.Value, item *dparval.Value) error
- type FunctionCallBase64Value
- type FunctionCallCeil
- type FunctionCallConstructor
- type FunctionCallCount
- func (this *FunctionCallCount) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *FunctionCallCount) Copy() Expression
- func (this *FunctionCallCount) DefaultAggregate(group *dparval.Value) error
- func (this *FunctionCallCount) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *FunctionCallCount) UpdateAggregate(group *dparval.Value, item *dparval.Value) error
- type FunctionCallDatePartMillis
- type FunctionCallDatePartStr
- type FunctionCallDisableLog
- type FunctionCallEnableLog
- type FunctionCallError
- type FunctionCallExpression
- func NewFunctionCall(name string, operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallArrayAgg(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallArrayAppend(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallArrayConcat(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallArrayLength(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallArrayPrepend(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallArrayRemove(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallAvg(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallBase64Value(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallCeil(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallCount(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallDatePartMillis(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallDatePartStr(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallDisableLog(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallEnableLog(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallError(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallFirstNum(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallFloor(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallGreatest(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfInf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfMissing(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfMissingOrNull(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfNaN(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfNaNOrInf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfNegInf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfNull(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIfPosInf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIsArray(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIsAtom(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIsBool(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIsNum(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIsObj(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallIsStr(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallLTrim(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallLeast(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallLength(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallLower(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallMax(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallMeta(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallMillisToStr(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallMin(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallMissingIf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallNaNIf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallNegInfIf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallNowMillis(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallNowStr(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallNullIf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallObjectLength(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallPanic(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallPolyLength(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallPosInfIf(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallRTrim(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallRound(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallSplit(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallStrToMillis(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallSubStr(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallSum(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallToArray(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallToAtom(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallToBool(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallToNum(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallToStr(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallTrim(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallTrunc(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallTypeName(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallUnknown(operands FunctionArgExpressionList, name string) FunctionCallExpression
- func NewFunctionCallUpper(operands FunctionArgExpressionList) FunctionCallExpression
- func NewFunctionCallValue(operands FunctionArgExpressionList) FunctionCallExpression
- type FunctionCallFirstNum
- type FunctionCallFloor
- type FunctionCallGreatest
- type FunctionCallIfInf
- type FunctionCallIfMissing
- type FunctionCallIfMissingOrNull
- type FunctionCallIfNaN
- type FunctionCallIfNaNOrInf
- type FunctionCallIfNegInf
- type FunctionCallIfNull
- type FunctionCallIfPosInf
- type FunctionCallIsArray
- type FunctionCallIsAtom
- type FunctionCallIsBool
- type FunctionCallIsNum
- type FunctionCallIsObj
- type FunctionCallIsStr
- type FunctionCallLTrim
- type FunctionCallLeast
- type FunctionCallLength
- type FunctionCallLower
- type FunctionCallMax
- func (this *FunctionCallMax) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *FunctionCallMax) Copy() Expression
- func (this *FunctionCallMax) DefaultAggregate(group *dparval.Value) error
- func (this *FunctionCallMax) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *FunctionCallMax) UpdateAggregate(group *dparval.Value, item *dparval.Value) error
- type FunctionCallMeta
- type FunctionCallMillisToStr
- type FunctionCallMin
- func (this *FunctionCallMin) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *FunctionCallMin) Copy() Expression
- func (this *FunctionCallMin) DefaultAggregate(group *dparval.Value) error
- func (this *FunctionCallMin) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *FunctionCallMin) UpdateAggregate(group *dparval.Value, item *dparval.Value) error
- type FunctionCallMissingIf
- type FunctionCallNaNIf
- type FunctionCallNegInfIf
- type FunctionCallNowMillis
- type FunctionCallNowStr
- type FunctionCallNullIf
- type FunctionCallObjectLength
- type FunctionCallPanic
- type FunctionCallPolyLength
- type FunctionCallPosInfIf
- type FunctionCallRTrim
- type FunctionCallRound
- type FunctionCallSplit
- type FunctionCallStrToMillis
- type FunctionCallSubStr
- type FunctionCallSum
- func (this *FunctionCallSum) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *FunctionCallSum) Copy() Expression
- func (this *FunctionCallSum) DefaultAggregate(group *dparval.Value) error
- func (this *FunctionCallSum) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *FunctionCallSum) UpdateAggregate(group *dparval.Value, item *dparval.Value) error
- type FunctionCallToArray
- type FunctionCallToAtom
- type FunctionCallToBool
- type FunctionCallToNum
- type FunctionCallToStr
- type FunctionCallTrim
- type FunctionCallTrunc
- type FunctionCallTypeName
- type FunctionCallUnknown
- type FunctionCallUpper
- type FunctionCallValue
- type GreaterThanOperator
- type GreaterThanOrEqualOperator
- type InOperator
- type IsMissingOperator
- type IsNotMissingOperator
- type IsNotNullOperator
- type IsNotValuedOperator
- type IsNullOperator
- type IsValuedOperator
- type KeyExpression
- type LessThanOperator
- type LessThanOrEqualOperator
- type LikeOperator
- type LiteralArray
- func (this *LiteralArray) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *LiteralArray) Copy() Expression
- func (this *LiteralArray) Dependencies() ExpressionList
- func (this *LiteralArray) EquivalentTo(t Expression) bool
- func (this *LiteralArray) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *LiteralArray) String() string
- type LiteralBool
- func (this *LiteralBool) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *LiteralBool) Copy() Expression
- func (this *LiteralBool) Dependencies() ExpressionList
- func (this *LiteralBool) EquivalentTo(t Expression) bool
- func (this *LiteralBool) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *LiteralBool) String() string
- type LiteralNull
- func (this *LiteralNull) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *LiteralNull) Copy() Expression
- func (this *LiteralNull) Dependencies() ExpressionList
- func (this *LiteralNull) EquivalentTo(t Expression) bool
- func (this *LiteralNull) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *LiteralNull) String() string
- type LiteralNumber
- func (this *LiteralNumber) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *LiteralNumber) Copy() Expression
- func (this *LiteralNumber) Dependencies() ExpressionList
- func (this *LiteralNumber) EquivalentTo(t Expression) bool
- func (this *LiteralNumber) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *LiteralNumber) String() string
- type LiteralObject
- func (this *LiteralObject) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *LiteralObject) Copy() Expression
- func (this *LiteralObject) Dependencies() ExpressionList
- func (this *LiteralObject) EquivalentTo(t Expression) bool
- func (this *LiteralObject) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *LiteralObject) String() string
- type LiteralString
- func (this *LiteralString) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *LiteralString) Copy() Expression
- func (this *LiteralString) Dependencies() ExpressionList
- func (this *LiteralString) EquivalentTo(t Expression) bool
- func (this *LiteralString) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *LiteralString) String() string
- type ModuloOperator
- type MultiplyOperator
- type NaryOperator
- func (this *NaryOperator) Dependencies() ExpressionList
- func (this *NaryOperator) EquivalentTo(t Expression) bool
- func (this *NaryOperator) GetOperands() ExpressionList
- func (this *NaryOperator) Operator() string
- func (this *NaryOperator) SetOperand(i int, operand Expression)
- func (this *NaryOperator) SetOperands(operands ExpressionList)
- func (this *NaryOperator) String() string
- type NaryOperatorExpression
- type NotEqualToOperator
- type NotInOperator
- type NotLikeOperator
- type NotOperator
- type OperatorExpression
- type OrOperator
- type PlusOperator
- type PrefixUnaryOperator
- type Property
- func (this *Property) Accept(ev ExpressionVisitor) (Expression, error)
- func (this *Property) Copy() Expression
- func (this *Property) Dependencies() ExpressionList
- func (this *Property) EquivalentTo(t Expression) bool
- func (this *Property) Evaluate(item *dparval.Value) (*dparval.Value, error)
- func (this *Property) String() string
- type ResultExpression
- type ResultExpressionList
- func (this ResultExpressionList) AssignDefaultNames(namesInUse []string) error
- func (this ResultExpressionList) CheckForDuplicateAliases() ([]string, error)
- func (this ResultExpressionList) ContainsAggregateFunctionCall() bool
- func (this ResultExpressionList) ExpressionList() ExpressionList
- func (this ResultExpressionList) Simplify() error
- func (this ResultExpressionList) String() string
- func (this ResultExpressionList) Validate() error
- func (this ResultExpressionList) VerifyAllAggregateFunctionsOrInThisList(groupBy ExpressionList) error
- func (this ResultExpressionList) VerifyFormalNotation(forbiddenAliases []string, aliases []string, defaultAlias string) error
- type SelectStatement
- func (this *SelectStatement) GetAggregateReferences() ExpressionList
- func (this *SelectStatement) GetExplicitProjectionAliases() []string
- func (this *SelectStatement) GetFrom() *From
- func (this *SelectStatement) GetFromAliases() []string
- func (this *SelectStatement) GetGroupBy() ExpressionList
- func (this *SelectStatement) GetHaving() Expression
- func (this *SelectStatement) GetLimit() int
- func (this *SelectStatement) GetOffset() int
- func (this *SelectStatement) GetOrderBy() SortExpressionList
- func (this *SelectStatement) GetResultExpressionList() ResultExpressionList
- func (this *SelectStatement) GetWhere() Expression
- func (this *SelectStatement) IsAggregate() bool
- func (this *SelectStatement) IsDistinct() bool
- func (this *SelectStatement) IsExplainOnly() bool
- func (this *SelectStatement) SetExplainOnly(explainOnly bool)
- func (this *SelectStatement) Simplify() error
- func (this *SelectStatement) VerifySemantics() error
- type SortExpression
- type SortExpressionList
- func (this SortExpressionList) Simplify() error
- func (this SortExpressionList) String() string
- func (this SortExpressionList) Validate() error
- func (this SortExpressionList) VerifyAllAggregateFunctionsOrInThisList(groupBy ExpressionList) error
- func (this SortExpressionList) VerifyAllEquivalentToThisList(exprs ExpressionList) error
- func (this SortExpressionList) VerifyFormalNotation(forbiddenAliases []string, aliases []string, defaultAlias string) error
- type Statement
- type StringConcatenateOperator
- type SubtractOperator
- type TypeMismatch
- type UnaryOperator
- func (this *UnaryOperator) Dependencies() ExpressionList
- func (this *UnaryOperator) EquivalentTo(t Expression) bool
- func (this *UnaryOperator) EvaluateFlagMissing(context *dparval.Value) (*dparval.Value, bool, error)
- func (this *UnaryOperator) EvaluateRequireNumber(context *dparval.Value) (float64, bool, error)
- func (this *UnaryOperator) GetOperand() Expression
- func (this *UnaryOperator) Operator() string
- func (this *UnaryOperator) SetOperand(operand Expression)
- func (this *UnaryOperator) String() string
- type UnaryOperatorExpression
- type WhenThen
Constants ¶
This section is empty.
Variables ¶
var SystemFunctionRegistry map[string]FunctionCallConstructor = map[string]FunctionCallConstructor{ "LENGTH": NewFunctionCallLength, "ARRAY_LENGTH": NewFunctionCallArrayLength, "OBJECT_LENGTH": NewFunctionCallObjectLength, "POLY_LENGTH": NewFunctionCallPolyLength, "ARRAY_CONCAT": NewFunctionCallArrayConcat, "ARRAY_APPEND": NewFunctionCallArrayAppend, "ARRAY_PREPEND": NewFunctionCallArrayPrepend, "ARRAY_REMOVE": NewFunctionCallArrayRemove, "COUNT": NewFunctionCallCount, "SUM": NewFunctionCallSum, "AVG": NewFunctionCallAvg, "MIN": NewFunctionCallMin, "MAX": NewFunctionCallMax, "ARRAY_AGG": NewFunctionCallArrayAgg, "GREATEST": NewFunctionCallGreatest, "LEAST": NewFunctionCallLeast, "IFMISSING": NewFunctionCallIfMissing, "IFNULL": NewFunctionCallIfNull, "IFMISSINGORNULL": NewFunctionCallIfMissingOrNull, "MISSINGIF": NewFunctionCallMissingIf, "NULLIF": NewFunctionCallNullIf, "META": NewFunctionCallMeta, "VALUE": NewFunctionCallValue, "BASE64_VALUE": NewFunctionCallBase64Value, "CEIL": NewFunctionCallCeil, "FLOOR": NewFunctionCallFloor, "ROUND": NewFunctionCallRound, "TRUNC": NewFunctionCallTrunc, "IFNAN": NewFunctionCallIfNaN, "IFPOSINF": NewFunctionCallIfPosInf, "IFNEGINF": NewFunctionCallIfNegInf, "IFINF": NewFunctionCallIfInf, "IFNANORINF": NewFunctionCallIfNaNOrInf, "FIRSTNUM": NewFunctionCallFirstNum, "NANIF": NewFunctionCallNaNIf, "POSINFIF": NewFunctionCallPosInfIf, "NEGINFIF": NewFunctionCallNegInfIf, "LOWER": NewFunctionCallLower, "UPPER": NewFunctionCallUpper, "TRIM": NewFunctionCallTrim, "RTRIM": NewFunctionCallRTrim, "LTRIM": NewFunctionCallLTrim, "SUBSTR": NewFunctionCallSubStr, "SPLIT": NewFunctionCallSplit, "DATE_PART_STR": NewFunctionCallDatePartStr, "NOW_STR": NewFunctionCallNowStr, "DATE_PART_MILLIS": NewFunctionCallDatePartMillis, "NOW_MILLIS": NewFunctionCallNowMillis, "STR_TO_MILLIS": NewFunctionCallStrToMillis, "MILLIS": NewFunctionCallStrToMillis, "MILLIS_TO_STR": NewFunctionCallMillisToStr, "TO_NUM": NewFunctionCallToNum, "TO_STR": NewFunctionCallToStr, "TO_BOOL": NewFunctionCallToBool, "TO_ATOM": NewFunctionCallToAtom, "TO_ARRAY": NewFunctionCallToArray, "TYPE_NAME": NewFunctionCallTypeName, "IS_NUM": NewFunctionCallIsNum, "IS_STR": NewFunctionCallIsStr, "IS_BOOL": NewFunctionCallIsBool, "IS_ATOM": NewFunctionCallIsAtom, "IS_ARRAY": NewFunctionCallIsArray, "IS_OBJ": NewFunctionCallIsObj, }
Functions ¶
func CollateJSON ¶
func CollateJSON(key1, key2 interface{}) int
this is N1QL collation like Couch, but strings are compared like memcmp
func DisableDeveloperFunctions ¶
func DisableDeveloperFunctions()
func EnableDeveloperFunctions ¶
func EnableDeveloperFunctions()
func RoundFloat ¶
func TruncateFloat ¶
func ValueInBooleanContext ¶
func ValueInBooleanContext(val interface{}) interface{}
this function is repsonible for determining if a value should be considered true or false in a boolean context NOTE: this is my first attempt at making this behave consisten with javascript SEE http://ecma-international.org/ecma-262/5.1/#sec-9.2
Types ¶
type AggregateFunctionCall ¶
type AggregateFunctionCall struct {
FunctionCall
}
func (AggregateFunctionCall) Key ¶
func (this AggregateFunctionCall) Key() string
create a unique key where the current value for this aggregate function will be stored
type AndOperator ¶
type AndOperator struct { Type string `json:"type"` NaryOperator }
func NewAndOperator ¶
func NewAndOperator(operands ExpressionList) *AndOperator
func (*AndOperator) Accept ¶
func (this *AndOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*AndOperator) Copy ¶ added in v0.6.0
func (this *AndOperator) Copy() Expression
type BinaryOperator ¶
type BinaryOperator struct { Left Expression `json:"left"` Right Expression `json:"right"` // contains filtered or unexported fields }
func (*BinaryOperator) Dependencies ¶
func (this *BinaryOperator) Dependencies() ExpressionList
func (*BinaryOperator) EquivalentTo ¶
func (this *BinaryOperator) EquivalentTo(t Expression) bool
func (*BinaryOperator) EvaluateBoth ¶
func (*BinaryOperator) EvaluateBothRequireNumber ¶
func (*BinaryOperator) EvaluateBothRequireString ¶
func (*BinaryOperator) GetLeft ¶
func (this *BinaryOperator) GetLeft() Expression
func (*BinaryOperator) GetRight ¶
func (this *BinaryOperator) GetRight() Expression
func (*BinaryOperator) Operator ¶
func (this *BinaryOperator) Operator() string
func (*BinaryOperator) SetLeft ¶
func (this *BinaryOperator) SetLeft(left Expression)
func (*BinaryOperator) SetRight ¶
func (this *BinaryOperator) SetRight(right Expression)
func (*BinaryOperator) String ¶
func (this *BinaryOperator) String() string
type BinaryOperatorExpression ¶
type BinaryOperatorExpression interface { OperatorExpression GetLeft() Expression GetRight() Expression SetLeft(Expression) SetRight(Expression) }
type BracketMemberOperator ¶
type BracketMemberOperator struct { Type string `json:"type"` Left Expression `json:"left"` Right Expression `json:"right"` }
func NewBracketMemberOperator ¶
func NewBracketMemberOperator(left, right Expression) *BracketMemberOperator
func (*BracketMemberOperator) Accept ¶
func (this *BracketMemberOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*BracketMemberOperator) Copy ¶ added in v0.6.0
func (this *BracketMemberOperator) Copy() Expression
func (*BracketMemberOperator) Dependencies ¶
func (this *BracketMemberOperator) Dependencies() ExpressionList
func (*BracketMemberOperator) EquivalentTo ¶
func (this *BracketMemberOperator) EquivalentTo(t Expression) bool
func (*BracketMemberOperator) String ¶
func (this *BracketMemberOperator) String() string
func (*BracketMemberOperator) UnmarshalJSON ¶
func (this *BracketMemberOperator) UnmarshalJSON(data []byte) error
type BracketSliceMemberOperator ¶ added in v0.7.0
type BracketSliceMemberOperator struct { Type string `json:"type"` Left Expression `json:"left"` Middle Expression `json:"middle"` Right Expression `json:"right"` }
func NewBracketSliceMemberOperator ¶ added in v0.7.0
func NewBracketSliceMemberOperator(left, middle, right Expression) *BracketSliceMemberOperator
func (*BracketSliceMemberOperator) Accept ¶ added in v0.7.0
func (this *BracketSliceMemberOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*BracketSliceMemberOperator) Copy ¶ added in v0.7.0
func (this *BracketSliceMemberOperator) Copy() Expression
func (*BracketSliceMemberOperator) Dependencies ¶ added in v0.7.0
func (this *BracketSliceMemberOperator) Dependencies() ExpressionList
func (*BracketSliceMemberOperator) EquivalentTo ¶ added in v0.7.0
func (this *BracketSliceMemberOperator) EquivalentTo(t Expression) bool
func (*BracketSliceMemberOperator) String ¶ added in v0.7.0
func (this *BracketSliceMemberOperator) String() string
func (*BracketSliceMemberOperator) UnmarshalJSON ¶ added in v0.7.0
func (this *BracketSliceMemberOperator) UnmarshalJSON(data []byte) error
type CaseOperator ¶
type CaseOperator struct { Type string `json:"type"` Switch Expression `json:"switch"` WhenThens []*WhenThen `json:"whenthens"` Else Expression `json:"else"` }
func NewCaseOperator ¶
func NewCaseOperator() *CaseOperator
func (*CaseOperator) Accept ¶
func (this *CaseOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*CaseOperator) Copy ¶ added in v0.6.0
func (this *CaseOperator) Copy() Expression
func (*CaseOperator) Dependencies ¶
func (this *CaseOperator) Dependencies() ExpressionList
func (*CaseOperator) EquivalentTo ¶
func (this *CaseOperator) EquivalentTo(t Expression) bool
func (*CaseOperator) String ¶
func (this *CaseOperator) String() string
type ChangeSignOperator ¶
type ChangeSignOperator struct { Type string `json:"type"` PrefixUnaryOperator }
func NewChangeSignOperator ¶
func NewChangeSignOperator(operand Expression) *ChangeSignOperator
func (*ChangeSignOperator) Accept ¶
func (this *ChangeSignOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*ChangeSignOperator) Copy ¶ added in v0.6.0
func (this *ChangeSignOperator) Copy() Expression
type CollectionAllOperator ¶
type CollectionAllOperator struct { Type string `json:"type"` CollectionOperator }
func NewCollectionAllOperator ¶
func NewCollectionAllOperator(condition Expression, over Expression, as string) *CollectionAllOperator
func (*CollectionAllOperator) Accept ¶
func (this *CollectionAllOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*CollectionAllOperator) Copy ¶ added in v0.6.0
func (this *CollectionAllOperator) Copy() Expression
type CollectionAnyOperator ¶
type CollectionAnyOperator struct { Type string `json:"type"` CollectionOperator }
func NewCollectionAnyOperator ¶
func NewCollectionAnyOperator(condition Expression, over Expression, as string) *CollectionAnyOperator
func (*CollectionAnyOperator) Accept ¶
func (this *CollectionAnyOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*CollectionAnyOperator) Copy ¶ added in v0.6.0
func (this *CollectionAnyOperator) Copy() Expression
type CollectionArrayOperator ¶
type CollectionArrayOperator struct { Type string `json:"type"` CollectionOperator }
func NewCollectionArrayOperator ¶
func NewCollectionArrayOperator(condition Expression, over Expression, as string, output Expression) *CollectionArrayOperator
func (*CollectionArrayOperator) Accept ¶
func (this *CollectionArrayOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*CollectionArrayOperator) Copy ¶ added in v0.6.0
func (this *CollectionArrayOperator) Copy() Expression
type CollectionFirstOperator ¶
type CollectionFirstOperator struct { Type string `json:"type"` CollectionOperator }
func NewCollectionFirstOperator ¶
func NewCollectionFirstOperator(condition Expression, over Expression, as string, output Expression) *CollectionFirstOperator
func (*CollectionFirstOperator) Accept ¶
func (this *CollectionFirstOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*CollectionFirstOperator) Copy ¶ added in v0.6.0
func (this *CollectionFirstOperator) Copy() Expression
type CollectionOperator ¶
type CollectionOperator struct { Condition Expression `json:"condition"` Over Expression `json:"over"` As string `json:"as"` Output Expression `json:"output"` // contains filtered or unexported fields }
func (*CollectionOperator) Dependencies ¶
func (this *CollectionOperator) Dependencies() ExpressionList
func (*CollectionOperator) EquivalentTo ¶
func (this *CollectionOperator) EquivalentTo(t Expression) bool
func (*CollectionOperator) GetAs ¶
func (this *CollectionOperator) GetAs() string
func (*CollectionOperator) GetCondition ¶
func (this *CollectionOperator) GetCondition() Expression
func (*CollectionOperator) GetOutput ¶
func (this *CollectionOperator) GetOutput() Expression
func (*CollectionOperator) GetOver ¶
func (this *CollectionOperator) GetOver() Expression
func (*CollectionOperator) Operator ¶
func (this *CollectionOperator) Operator() string
func (*CollectionOperator) SetAs ¶
func (this *CollectionOperator) SetAs(as string)
func (*CollectionOperator) SetCondition ¶
func (this *CollectionOperator) SetCondition(condition Expression)
func (*CollectionOperator) SetOutput ¶
func (this *CollectionOperator) SetOutput(output Expression)
func (*CollectionOperator) SetOver ¶
func (this *CollectionOperator) SetOver(over Expression)
func (*CollectionOperator) String ¶
func (this *CollectionOperator) String() string
type CollectionOperatorExpression ¶
type CollectionOperatorExpression interface { OperatorExpression GetOver() Expression GetCondition() Expression GetAs() string SetOver(Expression) SetCondition(Expression) SetAs(string) GetOutput() Expression SetOutput(Expression) }
type CommutativeBinaryOperator ¶
type CommutativeBinaryOperator struct {
BinaryOperator
}
func (*CommutativeBinaryOperator) EquivalentTo ¶
func (this *CommutativeBinaryOperator) EquivalentTo(t Expression) bool
type CreateIndexStatement ¶
type CreateIndexStatement struct { Method string `json:"method"` Name string `json:"name"` ExplainOnly bool `json:"explain"` Bucket string `json:"bucket"` Pool string `json:"pool"` On ExpressionList `json:"on"` Primary bool `json:"primary"` }
func NewCreateIndexStatement ¶
func NewCreateIndexStatement() *CreateIndexStatement
func (*CreateIndexStatement) IsExplainOnly ¶
func (this *CreateIndexStatement) IsExplainOnly() bool
func (*CreateIndexStatement) SetExplainOnly ¶
func (this *CreateIndexStatement) SetExplainOnly(only bool)
func (*CreateIndexStatement) Simplify ¶
func (this *CreateIndexStatement) Simplify() error
func (*CreateIndexStatement) VerifySemantics ¶
func (this *CreateIndexStatement) VerifySemantics() error
type DivideOperator ¶
type DivideOperator struct { Type string `json:"type"` BinaryOperator }
func NewDivideOperator ¶
func NewDivideOperator(left, right Expression) *DivideOperator
func (*DivideOperator) Accept ¶
func (this *DivideOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*DivideOperator) Copy ¶ added in v0.6.0
func (this *DivideOperator) Copy() Expression
type DotMemberOperator ¶
type DotMemberOperator struct { Type string `json:"type"` Left Expression `json:"left"` Right *Property `json:"right"` }
func NewDotMemberOperator ¶
func NewDotMemberOperator(left Expression, right *Property) *DotMemberOperator
func (*DotMemberOperator) Accept ¶
func (this *DotMemberOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*DotMemberOperator) Copy ¶ added in v0.6.0
func (this *DotMemberOperator) Copy() Expression
func (*DotMemberOperator) Dependencies ¶
func (this *DotMemberOperator) Dependencies() ExpressionList
sliglty confusingly, a dot-member expression does not actually depend on its RHS a.b could be rewritten as a["b"] and since b is literal string it is not a dependency other way to look at it is that we're looking side what the LHS gave us, not the outer context, so we don't depend on the outside world at all
func (*DotMemberOperator) EquivalentTo ¶
func (this *DotMemberOperator) EquivalentTo(t Expression) bool
func (*DotMemberOperator) String ¶
func (this *DotMemberOperator) String() string
func (*DotMemberOperator) UnmarshalJSON ¶
func (this *DotMemberOperator) UnmarshalJSON(data []byte) error
type DropIndexStatement ¶
type DropIndexStatement struct { Name string `json:"name"` ExplainOnly bool `json:"explain"` Bucket string `json:"bucket"` Pool string `json:"pool"` }
func NewDropIndexStatement ¶
func NewDropIndexStatement() *DropIndexStatement
func (*DropIndexStatement) IsExplainOnly ¶
func (this *DropIndexStatement) IsExplainOnly() bool
func (*DropIndexStatement) SetExplainOnly ¶
func (this *DropIndexStatement) SetExplainOnly(only bool)
func (*DropIndexStatement) Simplify ¶
func (this *DropIndexStatement) Simplify() error
func (*DropIndexStatement) VerifySemantics ¶
func (this *DropIndexStatement) VerifySemantics() error
type DuplicateAlias ¶
type DuplicateAlias struct {
// contains filtered or unexported fields
}
func (*DuplicateAlias) Error ¶
func (this *DuplicateAlias) Error() string
type EqualToOperator ¶
type EqualToOperator struct { Type string `json:"type"` CommutativeBinaryOperator }
func NewEqualToOperator ¶
func NewEqualToOperator(left, right Expression) *EqualToOperator
func (*EqualToOperator) Accept ¶
func (this *EqualToOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*EqualToOperator) Copy ¶ added in v0.6.0
func (this *EqualToOperator) Copy() Expression
type Expression ¶
type Expression interface { fmt.Stringer Evaluate(item *dparval.Value) (*dparval.Value, error) // Is this Expresion equivalent to that Expression? EquivalentTo(Expression) bool // A list of other Expressions up on which this depends Dependencies() ExpressionList // Vistor Pattern Accept(ExpressionVisitor) (Expression, error) // Return a complete copy of yourself Copy() Expression }
func UnmarshalExpression ¶
func UnmarshalExpression(bytes []byte) (Expression, error)
func VisitChildren ¶
func VisitChildren(v ExpressionVisitor, e Expression) (Expression, error)
a utility function giving the default behavior of visiting a nodes children
type ExpressionAggregateFinder ¶
type ExpressionAggregateFinder struct {
// contains filtered or unexported fields
}
this ExpressionVisitor searches the expression for any aggregate function calls embedded inside so that the appropriate calculations can be made during the grouping phase
func NewExpressionAggregateFinder ¶
func NewExpressionAggregateFinder() *ExpressionAggregateFinder
func (*ExpressionAggregateFinder) GetAggregates ¶
func (this *ExpressionAggregateFinder) GetAggregates() ExpressionList
func (*ExpressionAggregateFinder) Visit ¶
func (this *ExpressionAggregateFinder) Visit(e Expression) (Expression, error)
type ExpressionCNF ¶
type ExpressionCNF struct { }
convert an expresion to Negation Normal Form http://en.wikipedia.org/wiki/Negation_normal_form
func NewExpressionCNF ¶
func NewExpressionCNF() *ExpressionCNF
func (*ExpressionCNF) Visit ¶
func (this *ExpressionCNF) Visit(e Expression) (Expression, error)
type ExpressionEquivalenceChecker ¶
type ExpressionEquivalenceChecker struct {
Expressions ExpressionList
}
this ExpressionVisitor will determine if the given expression can be satisfied by the specified dependencies, or if it instead has other dependencies
func NewExpressionEquivalenceChecker ¶
func NewExpressionEquivalenceChecker(exprs ExpressionList) *ExpressionEquivalenceChecker
func (*ExpressionEquivalenceChecker) Visit ¶
func (this *ExpressionEquivalenceChecker) Visit(expr Expression) (Expression, error)
type ExpressionFormalNotationConverter ¶
type ExpressionFormalNotationConverter struct {
// contains filtered or unexported fields
}
func NewExpressionFormalNotationConverter ¶
func NewExpressionFormalNotationConverter(forbiddenAliases []string, aliases []string, defaultAlias string) *ExpressionFormalNotationConverter
this visitor takes a list of valid aliases if there are any forbidden Aliases all property refereces MUST NOT start with one of these aliases if there is more than 1 alias in the list all property references MUST start with one of these aliases if not, an appropriate error is returned if there is only 1 alias, and the reference can be converted a new expression with the proper reference is returned it is up to the caller to update any references it may have
func (*ExpressionFormalNotationConverter) Visit ¶
func (this *ExpressionFormalNotationConverter) Visit(e Expression) (Expression, error)
func (*ExpressionFormalNotationConverter) VisitCollectionChild ¶
func (this *ExpressionFormalNotationConverter) VisitCollectionChild(expr CollectionOperatorExpression) error
func (*ExpressionFormalNotationConverter) VisitDotMemberChild ¶
func (this *ExpressionFormalNotationConverter) VisitDotMemberChild(expr *DotMemberOperator) (Expression, error)
func (*ExpressionFormalNotationConverter) VisitFunctionCall ¶
func (this *ExpressionFormalNotationConverter) VisitFunctionCall(expr FunctionCallExpression) error
func (*ExpressionFormalNotationConverter) VisitProperty ¶
func (this *ExpressionFormalNotationConverter) VisitProperty(expr *Property) (Expression, error)
type ExpressionFunctionalDependencyChecker ¶
type ExpressionFunctionalDependencyChecker struct { Dependencies ExpressionList AggregatesSatisfied bool }
this ExpressionVisitor will determine if the given expression can be satisfied by the specified dependencies, or if it instead has other dependencies
func NewExpressionFunctionalDependencyChecker ¶
func NewExpressionFunctionalDependencyChecker(deps ExpressionList) *ExpressionFunctionalDependencyChecker
func NewExpressionFunctionalDependencyCheckerFull ¶
func NewExpressionFunctionalDependencyCheckerFull(deps ExpressionList) *ExpressionFunctionalDependencyChecker
func (*ExpressionFunctionalDependencyChecker) Visit ¶
func (this *ExpressionFunctionalDependencyChecker) Visit(expr Expression) (Expression, error)
type ExpressionList ¶
type ExpressionList []Expression
func (ExpressionList) EquivalentTo ¶
func (this ExpressionList) EquivalentTo(e Expression) Expression
func (ExpressionList) Simplify ¶
func (this ExpressionList) Simplify() error
func (ExpressionList) Validate ¶
func (this ExpressionList) Validate() error
func (ExpressionList) VerifyFormalNotation ¶
func (this ExpressionList) VerifyFormalNotation(forbiddenAliases []string, aliases []string, defaultAlias string) error
type ExpressionNNF ¶
type ExpressionNNF struct { }
convert an expresion to Negation Normal Form http://en.wikipedia.org/wiki/Negation_normal_form
func NewExpressionNNF ¶
func NewExpressionNNF() *ExpressionNNF
func (*ExpressionNNF) Visit ¶
func (this *ExpressionNNF) Visit(e Expression) (Expression, error)
type ExpressionSimplifier ¶
type ExpressionSimplifier struct { }
func NewExpressionSimplifier ¶
func NewExpressionSimplifier() *ExpressionSimplifier
func (*ExpressionSimplifier) Visit ¶
func (this *ExpressionSimplifier) Visit(e Expression) (Expression, error)
type ExpressionValidator ¶
type ExpressionValidator struct {
// contains filtered or unexported fields
}
func NewExpressionValidator ¶
func NewExpressionValidator() *ExpressionValidator
func NewExpressionValidatorNoAggregates ¶
func NewExpressionValidatorNoAggregates() *ExpressionValidator
func (*ExpressionValidator) ValidateFunctionCall ¶
func (this *ExpressionValidator) ValidateFunctionCall(expr FunctionCallExpression) error
func (*ExpressionValidator) Visit ¶
func (this *ExpressionValidator) Visit(e Expression) (Expression, error)
type ExpressionVisitor ¶
type ExpressionVisitor interface {
Visit(Expression) (Expression, error)
}
type From ¶
type From struct { Pool string Bucket string Projection Expression Oper string //differentiate between NEST/UNNEST/JOIN As string Keys *KeyExpression // Used with Key-joins Type string Over *From // used with document joins }
func (*From) ConvertToBucketFrom ¶
func (this *From) ConvertToBucketFrom()
FROM is a generic structure capturing both top-level FROMs and OVER constructs in top level FROMs the start of the Projection path is the bucket name this should be set correct and also removed from the Projection for example: FROM person.friends OVER contacts AS contact the top-level FROM should have bucket "person" and projection "friends" the second level FROM has no bucket and projection "contacts"
func (*From) GenerateAlias ¶
func (this *From) GenerateAlias()
func (*From) GetAliases ¶
func (*From) VerifyBucket ¶ added in v0.7.0
type FunctionArgExpression ¶
type FunctionArgExpression struct { Star bool `json:"star"` Expr Expression `json:"expr"` }
func NewDotStarFunctionArgExpression ¶
func NewDotStarFunctionArgExpression(expr Expression) *FunctionArgExpression
func NewFunctionArgExpression ¶
func NewFunctionArgExpression(expr Expression) *FunctionArgExpression
func NewStarFunctionArgExpression ¶
func NewStarFunctionArgExpression() *FunctionArgExpression
func (*FunctionArgExpression) Copy ¶ added in v0.6.0
func (this *FunctionArgExpression) Copy() *FunctionArgExpression
func (*FunctionArgExpression) EquivalentTo ¶
func (this *FunctionArgExpression) EquivalentTo(that *FunctionArgExpression) bool
func (*FunctionArgExpression) String ¶
func (this *FunctionArgExpression) String() string
type FunctionArgExpressionList ¶
type FunctionArgExpressionList []*FunctionArgExpression
func (FunctionArgExpressionList) Copy ¶ added in v0.6.0
func (this FunctionArgExpressionList) Copy() FunctionArgExpressionList
func (FunctionArgExpressionList) String ¶
func (this FunctionArgExpressionList) String() string
type FunctionCall ¶
type FunctionCall struct { Type string `json:"type"` Name string `json:"name"` Operands FunctionArgExpressionList `json:"operands"` Distinct bool `json:"distinct"` // contains filtered or unexported fields }
func (*FunctionCall) Dependencies ¶
func (this *FunctionCall) Dependencies() ExpressionList
func (*FunctionCall) EquivalentTo ¶
func (this *FunctionCall) EquivalentTo(t Expression) bool
func (*FunctionCall) EvaluateBoth ¶ added in v0.7.0
func (*FunctionCall) EvaluateBothRequireArray ¶ added in v0.7.0
func (this *FunctionCall) EvaluateBothRequireArray(context *dparval.Value) ([]interface{}, []interface{}, bool, error)
func (*FunctionCall) EvaluateOperandsForArrayAppend ¶ added in v0.7.0
func (this *FunctionCall) EvaluateOperandsForArrayAppend(context *dparval.Value) ([]interface{}, error)
func (*FunctionCall) EvaluateOperandsForArrayPrepend ¶ added in v0.7.0
func (this *FunctionCall) EvaluateOperandsForArrayPrepend(context *dparval.Value) ([]interface{}, error)
func (*FunctionCall) EvaluateOperandsForArrayRemove ¶ added in v0.7.0
func (this *FunctionCall) EvaluateOperandsForArrayRemove(context *dparval.Value) ([]interface{}, error)
func (*FunctionCall) GetName ¶
func (this *FunctionCall) GetName() string
func (*FunctionCall) GetOperands ¶
func (this *FunctionCall) GetOperands() FunctionArgExpressionList
func (*FunctionCall) IsDistinct ¶
func (this *FunctionCall) IsDistinct() bool
func (*FunctionCall) SetDistinct ¶
func (this *FunctionCall) SetDistinct(distinct bool)
func (*FunctionCall) SetOperands ¶
func (this *FunctionCall) SetOperands(operands FunctionArgExpressionList)
func (*FunctionCall) String ¶
func (this *FunctionCall) String() string
func (*FunctionCall) ValidateArity ¶
func (this *FunctionCall) ValidateArity() error
func (*FunctionCall) ValidateDistinct ¶
func (this *FunctionCall) ValidateDistinct() error
func (*FunctionCall) ValidateStars ¶
func (this *FunctionCall) ValidateStars() error
type FunctionCallArrayAgg ¶
type FunctionCallArrayAgg struct {
AggregateFunctionCall
}
func (*FunctionCallArrayAgg) Accept ¶
func (this *FunctionCallArrayAgg) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallArrayAgg) Copy ¶ added in v0.6.0
func (this *FunctionCallArrayAgg) Copy() Expression
func (*FunctionCallArrayAgg) DefaultAggregate ¶
func (this *FunctionCallArrayAgg) DefaultAggregate(group *dparval.Value) error
func (*FunctionCallArrayAgg) UpdateAggregate ¶
type FunctionCallArrayAppend ¶ added in v0.7.0
type FunctionCallArrayAppend struct {
FunctionCall
}
append an element to the array. Only the first operand should be an array
func (*FunctionCallArrayAppend) Accept ¶ added in v0.7.0
func (this *FunctionCallArrayAppend) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallArrayAppend) Copy ¶ added in v0.7.0
func (this *FunctionCallArrayAppend) Copy() Expression
type FunctionCallArrayConcat ¶ added in v0.7.0
type FunctionCallArrayConcat struct {
FunctionCall
}
func (*FunctionCallArrayConcat) Accept ¶ added in v0.7.0
func (this *FunctionCallArrayConcat) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallArrayConcat) Copy ¶ added in v0.7.0
func (this *FunctionCallArrayConcat) Copy() Expression
type FunctionCallArrayLength ¶ added in v0.7.0
type FunctionCallArrayLength struct {
FunctionCall
}
array_length()
func (*FunctionCallArrayLength) Accept ¶ added in v0.7.0
func (this *FunctionCallArrayLength) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallArrayLength) Copy ¶ added in v0.7.0
func (this *FunctionCallArrayLength) Copy() Expression
type FunctionCallArrayPrepend ¶ added in v0.7.0
type FunctionCallArrayPrepend struct {
FunctionCall
}
func (*FunctionCallArrayPrepend) Accept ¶ added in v0.7.0
func (this *FunctionCallArrayPrepend) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallArrayPrepend) Copy ¶ added in v0.7.0
func (this *FunctionCallArrayPrepend) Copy() Expression
type FunctionCallArrayRemove ¶ added in v0.7.0
type FunctionCallArrayRemove struct {
FunctionCall
}
func (*FunctionCallArrayRemove) Accept ¶ added in v0.7.0
func (this *FunctionCallArrayRemove) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallArrayRemove) Copy ¶ added in v0.7.0
func (this *FunctionCallArrayRemove) Copy() Expression
type FunctionCallAvg ¶
type FunctionCallAvg struct {
AggregateFunctionCall
}
func (*FunctionCallAvg) Accept ¶
func (this *FunctionCallAvg) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallAvg) Copy ¶ added in v0.6.0
func (this *FunctionCallAvg) Copy() Expression
func (*FunctionCallAvg) DefaultAggregate ¶
func (this *FunctionCallAvg) DefaultAggregate(group *dparval.Value) error
func (*FunctionCallAvg) UpdateAggregate ¶
type FunctionCallBase64Value ¶
type FunctionCallBase64Value struct {
FunctionCall
}
func (*FunctionCallBase64Value) Accept ¶
func (this *FunctionCallBase64Value) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallBase64Value) Copy ¶ added in v0.6.0
func (this *FunctionCallBase64Value) Copy() Expression
type FunctionCallCeil ¶
type FunctionCallCeil struct {
FunctionCall
}
func (*FunctionCallCeil) Accept ¶
func (this *FunctionCallCeil) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallCeil) Copy ¶ added in v0.6.0
func (this *FunctionCallCeil) Copy() Expression
type FunctionCallConstructor ¶
type FunctionCallConstructor func(operands FunctionArgExpressionList) FunctionCallExpression
type FunctionCallCount ¶
type FunctionCallCount struct {
AggregateFunctionCall
}
func (*FunctionCallCount) Accept ¶
func (this *FunctionCallCount) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallCount) Copy ¶ added in v0.6.0
func (this *FunctionCallCount) Copy() Expression
func (*FunctionCallCount) DefaultAggregate ¶
func (this *FunctionCallCount) DefaultAggregate(group *dparval.Value) error
func (*FunctionCallCount) UpdateAggregate ¶
type FunctionCallDatePartMillis ¶ added in v0.7.0
type FunctionCallDatePartMillis struct {
FunctionCall
}
func (*FunctionCallDatePartMillis) Accept ¶ added in v0.7.0
func (this *FunctionCallDatePartMillis) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallDatePartMillis) Copy ¶ added in v0.7.0
func (this *FunctionCallDatePartMillis) Copy() Expression
type FunctionCallDatePartStr ¶ added in v0.7.0
type FunctionCallDatePartStr struct {
FunctionCall
}
func (*FunctionCallDatePartStr) Accept ¶ added in v0.7.0
func (this *FunctionCallDatePartStr) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallDatePartStr) Copy ¶ added in v0.7.0
func (this *FunctionCallDatePartStr) Copy() Expression
type FunctionCallDisableLog ¶
type FunctionCallDisableLog struct {
FunctionCall
}
func (*FunctionCallDisableLog) Accept ¶
func (this *FunctionCallDisableLog) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallDisableLog) Copy ¶ added in v0.6.0
func (this *FunctionCallDisableLog) Copy() Expression
type FunctionCallEnableLog ¶
type FunctionCallEnableLog struct {
FunctionCall
}
func (*FunctionCallEnableLog) Accept ¶
func (this *FunctionCallEnableLog) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallEnableLog) Copy ¶ added in v0.6.0
func (this *FunctionCallEnableLog) Copy() Expression
type FunctionCallError ¶
type FunctionCallError struct {
FunctionCall
}
func (*FunctionCallError) Accept ¶
func (this *FunctionCallError) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallError) Copy ¶ added in v0.6.0
func (this *FunctionCallError) Copy() Expression
type FunctionCallExpression ¶
type FunctionCallExpression interface { Expression GetName() string GetOperands() FunctionArgExpressionList SetOperands(FunctionArgExpressionList) ValidateArity() error ValidateStars() error ValidateDistinct() error IsDistinct() bool SetDistinct(bool) }
func NewFunctionCall ¶
func NewFunctionCall(name string, operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallArrayAgg ¶
func NewFunctionCallArrayAgg(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallArrayAppend ¶ added in v0.7.0
func NewFunctionCallArrayAppend(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallArrayConcat ¶ added in v0.7.0
func NewFunctionCallArrayConcat(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallArrayLength ¶ added in v0.7.0
func NewFunctionCallArrayLength(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallArrayPrepend ¶ added in v0.7.0
func NewFunctionCallArrayPrepend(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallArrayRemove ¶ added in v0.7.0
func NewFunctionCallArrayRemove(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallAvg ¶
func NewFunctionCallAvg(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallBase64Value ¶
func NewFunctionCallBase64Value(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallCeil ¶
func NewFunctionCallCeil(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallCount ¶
func NewFunctionCallCount(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallDatePartMillis ¶ added in v0.7.0
func NewFunctionCallDatePartMillis(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallDatePartStr ¶ added in v0.7.0
func NewFunctionCallDatePartStr(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallDisableLog ¶
func NewFunctionCallDisableLog(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallEnableLog ¶
func NewFunctionCallEnableLog(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallError ¶
func NewFunctionCallError(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallFirstNum ¶
func NewFunctionCallFirstNum(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallFloor ¶
func NewFunctionCallFloor(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallGreatest ¶
func NewFunctionCallGreatest(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfInf ¶
func NewFunctionCallIfInf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfMissing ¶
func NewFunctionCallIfMissing(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfMissingOrNull ¶
func NewFunctionCallIfMissingOrNull(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfNaN ¶
func NewFunctionCallIfNaN(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfNaNOrInf ¶
func NewFunctionCallIfNaNOrInf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfNegInf ¶
func NewFunctionCallIfNegInf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfNull ¶
func NewFunctionCallIfNull(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIfPosInf ¶
func NewFunctionCallIfPosInf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIsArray ¶ added in v0.7.0
func NewFunctionCallIsArray(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIsAtom ¶ added in v0.7.0
func NewFunctionCallIsAtom(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIsBool ¶ added in v0.7.0
func NewFunctionCallIsBool(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIsNum ¶ added in v0.7.0
func NewFunctionCallIsNum(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIsObj ¶ added in v0.7.0
func NewFunctionCallIsObj(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallIsStr ¶ added in v0.7.0
func NewFunctionCallIsStr(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallLTrim ¶
func NewFunctionCallLTrim(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallLeast ¶
func NewFunctionCallLeast(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallLength ¶
func NewFunctionCallLength(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallLower ¶
func NewFunctionCallLower(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallMax ¶
func NewFunctionCallMax(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallMeta ¶
func NewFunctionCallMeta(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallMillisToStr ¶ added in v0.7.0
func NewFunctionCallMillisToStr(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallMin ¶
func NewFunctionCallMin(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallMissingIf ¶
func NewFunctionCallMissingIf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallNaNIf ¶
func NewFunctionCallNaNIf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallNegInfIf ¶
func NewFunctionCallNegInfIf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallNowMillis ¶ added in v0.7.0
func NewFunctionCallNowMillis(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallNowStr ¶ added in v0.6.0
func NewFunctionCallNowStr(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallNullIf ¶
func NewFunctionCallNullIf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallObjectLength ¶ added in v0.7.0
func NewFunctionCallObjectLength(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallPanic ¶
func NewFunctionCallPanic(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallPolyLength ¶ added in v0.7.0
func NewFunctionCallPolyLength(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallPosInfIf ¶
func NewFunctionCallPosInfIf(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallRTrim ¶
func NewFunctionCallRTrim(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallRound ¶
func NewFunctionCallRound(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallSplit ¶ added in v0.7.2
func NewFunctionCallSplit(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallStrToMillis ¶ added in v0.7.0
func NewFunctionCallStrToMillis(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallSubStr ¶
func NewFunctionCallSubStr(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallSum ¶
func NewFunctionCallSum(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallToArray ¶ added in v0.7.0
func NewFunctionCallToArray(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallToAtom ¶ added in v0.7.0
func NewFunctionCallToAtom(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallToBool ¶ added in v0.7.0
func NewFunctionCallToBool(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallToNum ¶ added in v0.7.0
func NewFunctionCallToNum(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallToStr ¶ added in v0.7.0
func NewFunctionCallToStr(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallTrim ¶
func NewFunctionCallTrim(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallTrunc ¶
func NewFunctionCallTrunc(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallTypeName ¶ added in v0.7.0
func NewFunctionCallTypeName(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallUnknown ¶
func NewFunctionCallUnknown(operands FunctionArgExpressionList, name string) FunctionCallExpression
func NewFunctionCallUpper ¶
func NewFunctionCallUpper(operands FunctionArgExpressionList) FunctionCallExpression
func NewFunctionCallValue ¶
func NewFunctionCallValue(operands FunctionArgExpressionList) FunctionCallExpression
type FunctionCallFirstNum ¶
type FunctionCallFirstNum struct {
FunctionCall
}
func (*FunctionCallFirstNum) Accept ¶
func (this *FunctionCallFirstNum) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallFirstNum) Copy ¶ added in v0.6.0
func (this *FunctionCallFirstNum) Copy() Expression
type FunctionCallFloor ¶
type FunctionCallFloor struct {
FunctionCall
}
func (*FunctionCallFloor) Accept ¶
func (this *FunctionCallFloor) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallFloor) Copy ¶ added in v0.6.0
func (this *FunctionCallFloor) Copy() Expression
type FunctionCallGreatest ¶
type FunctionCallGreatest struct {
FunctionCall
}
func (*FunctionCallGreatest) Accept ¶
func (this *FunctionCallGreatest) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallGreatest) Copy ¶ added in v0.6.0
func (this *FunctionCallGreatest) Copy() Expression
type FunctionCallIfInf ¶
type FunctionCallIfInf struct {
FunctionCall
}
func (*FunctionCallIfInf) Accept ¶
func (this *FunctionCallIfInf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfInf) Copy ¶ added in v0.6.0
func (this *FunctionCallIfInf) Copy() Expression
type FunctionCallIfMissing ¶
type FunctionCallIfMissing struct {
FunctionCall
}
func (*FunctionCallIfMissing) Accept ¶
func (this *FunctionCallIfMissing) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfMissing) Copy ¶ added in v0.6.0
func (this *FunctionCallIfMissing) Copy() Expression
type FunctionCallIfMissingOrNull ¶
type FunctionCallIfMissingOrNull struct {
FunctionCall
}
func (*FunctionCallIfMissingOrNull) Accept ¶
func (this *FunctionCallIfMissingOrNull) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfMissingOrNull) Copy ¶ added in v0.6.0
func (this *FunctionCallIfMissingOrNull) Copy() Expression
type FunctionCallIfNaN ¶
type FunctionCallIfNaN struct {
FunctionCall
}
func (*FunctionCallIfNaN) Accept ¶
func (this *FunctionCallIfNaN) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfNaN) Copy ¶ added in v0.6.0
func (this *FunctionCallIfNaN) Copy() Expression
type FunctionCallIfNaNOrInf ¶
type FunctionCallIfNaNOrInf struct {
FunctionCall
}
func (*FunctionCallIfNaNOrInf) Accept ¶
func (this *FunctionCallIfNaNOrInf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfNaNOrInf) Copy ¶ added in v0.6.0
func (this *FunctionCallIfNaNOrInf) Copy() Expression
type FunctionCallIfNegInf ¶
type FunctionCallIfNegInf struct {
FunctionCall
}
func (*FunctionCallIfNegInf) Accept ¶
func (this *FunctionCallIfNegInf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfNegInf) Copy ¶ added in v0.6.0
func (this *FunctionCallIfNegInf) Copy() Expression
type FunctionCallIfNull ¶
type FunctionCallIfNull struct {
FunctionCall
}
func (*FunctionCallIfNull) Accept ¶
func (this *FunctionCallIfNull) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfNull) Copy ¶ added in v0.6.0
func (this *FunctionCallIfNull) Copy() Expression
type FunctionCallIfPosInf ¶
type FunctionCallIfPosInf struct {
FunctionCall
}
func (*FunctionCallIfPosInf) Accept ¶
func (this *FunctionCallIfPosInf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIfPosInf) Copy ¶ added in v0.6.0
func (this *FunctionCallIfPosInf) Copy() Expression
type FunctionCallIsArray ¶ added in v0.7.0
type FunctionCallIsArray struct {
FunctionCall
}
func (*FunctionCallIsArray) Accept ¶ added in v0.7.0
func (this *FunctionCallIsArray) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIsArray) Copy ¶ added in v0.7.0
func (this *FunctionCallIsArray) Copy() Expression
type FunctionCallIsAtom ¶ added in v0.7.0
type FunctionCallIsAtom struct {
FunctionCall
}
func (*FunctionCallIsAtom) Accept ¶ added in v0.7.0
func (this *FunctionCallIsAtom) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIsAtom) Copy ¶ added in v0.7.0
func (this *FunctionCallIsAtom) Copy() Expression
type FunctionCallIsBool ¶ added in v0.7.0
type FunctionCallIsBool struct {
FunctionCall
}
func (*FunctionCallIsBool) Accept ¶ added in v0.7.0
func (this *FunctionCallIsBool) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIsBool) Copy ¶ added in v0.7.0
func (this *FunctionCallIsBool) Copy() Expression
type FunctionCallIsNum ¶ added in v0.7.0
type FunctionCallIsNum struct {
FunctionCall
}
func (*FunctionCallIsNum) Accept ¶ added in v0.7.0
func (this *FunctionCallIsNum) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIsNum) Copy ¶ added in v0.7.0
func (this *FunctionCallIsNum) Copy() Expression
type FunctionCallIsObj ¶ added in v0.7.0
type FunctionCallIsObj struct {
FunctionCall
}
func (*FunctionCallIsObj) Accept ¶ added in v0.7.0
func (this *FunctionCallIsObj) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIsObj) Copy ¶ added in v0.7.0
func (this *FunctionCallIsObj) Copy() Expression
type FunctionCallIsStr ¶ added in v0.7.0
type FunctionCallIsStr struct {
FunctionCall
}
func (*FunctionCallIsStr) Accept ¶ added in v0.7.0
func (this *FunctionCallIsStr) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallIsStr) Copy ¶ added in v0.7.0
func (this *FunctionCallIsStr) Copy() Expression
type FunctionCallLTrim ¶
type FunctionCallLTrim struct {
FunctionCall
}
func (*FunctionCallLTrim) Accept ¶
func (this *FunctionCallLTrim) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallLTrim) Copy ¶ added in v0.6.0
func (this *FunctionCallLTrim) Copy() Expression
type FunctionCallLeast ¶
type FunctionCallLeast struct {
FunctionCall
}
func (*FunctionCallLeast) Accept ¶
func (this *FunctionCallLeast) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallLeast) Copy ¶ added in v0.6.0
func (this *FunctionCallLeast) Copy() Expression
type FunctionCallLength ¶
type FunctionCallLength struct {
FunctionCall
}
func (*FunctionCallLength) Accept ¶
func (this *FunctionCallLength) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallLength) Copy ¶ added in v0.6.0
func (this *FunctionCallLength) Copy() Expression
type FunctionCallLower ¶
type FunctionCallLower struct {
FunctionCall
}
func (*FunctionCallLower) Accept ¶
func (this *FunctionCallLower) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallLower) Copy ¶ added in v0.6.0
func (this *FunctionCallLower) Copy() Expression
type FunctionCallMax ¶
type FunctionCallMax struct {
AggregateFunctionCall
}
func (*FunctionCallMax) Accept ¶
func (this *FunctionCallMax) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallMax) Copy ¶ added in v0.6.0
func (this *FunctionCallMax) Copy() Expression
func (*FunctionCallMax) DefaultAggregate ¶
func (this *FunctionCallMax) DefaultAggregate(group *dparval.Value) error
func (*FunctionCallMax) UpdateAggregate ¶
type FunctionCallMeta ¶
type FunctionCallMeta struct {
FunctionCall
}
func (*FunctionCallMeta) Accept ¶
func (this *FunctionCallMeta) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallMeta) Copy ¶ added in v0.6.0
func (this *FunctionCallMeta) Copy() Expression
type FunctionCallMillisToStr ¶ added in v0.7.0
type FunctionCallMillisToStr struct {
FunctionCall
}
func (*FunctionCallMillisToStr) Accept ¶ added in v0.7.0
func (this *FunctionCallMillisToStr) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallMillisToStr) Copy ¶ added in v0.7.0
func (this *FunctionCallMillisToStr) Copy() Expression
type FunctionCallMin ¶
type FunctionCallMin struct {
AggregateFunctionCall
}
func (*FunctionCallMin) Accept ¶
func (this *FunctionCallMin) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallMin) Copy ¶ added in v0.6.0
func (this *FunctionCallMin) Copy() Expression
func (*FunctionCallMin) DefaultAggregate ¶
func (this *FunctionCallMin) DefaultAggregate(group *dparval.Value) error
func (*FunctionCallMin) UpdateAggregate ¶
type FunctionCallMissingIf ¶
type FunctionCallMissingIf struct {
FunctionCall
}
func (*FunctionCallMissingIf) Accept ¶
func (this *FunctionCallMissingIf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallMissingIf) Copy ¶ added in v0.6.0
func (this *FunctionCallMissingIf) Copy() Expression
type FunctionCallNaNIf ¶
type FunctionCallNaNIf struct {
FunctionCall
}
func (*FunctionCallNaNIf) Accept ¶
func (this *FunctionCallNaNIf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallNaNIf) Copy ¶ added in v0.6.0
func (this *FunctionCallNaNIf) Copy() Expression
type FunctionCallNegInfIf ¶
type FunctionCallNegInfIf struct {
FunctionCall
}
func (*FunctionCallNegInfIf) Accept ¶
func (this *FunctionCallNegInfIf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallNegInfIf) Copy ¶ added in v0.6.0
func (this *FunctionCallNegInfIf) Copy() Expression
type FunctionCallNowMillis ¶ added in v0.7.0
type FunctionCallNowMillis struct {
FunctionCall
}
func (*FunctionCallNowMillis) Accept ¶ added in v0.7.0
func (this *FunctionCallNowMillis) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallNowMillis) Copy ¶ added in v0.7.0
func (this *FunctionCallNowMillis) Copy() Expression
type FunctionCallNowStr ¶ added in v0.6.0
type FunctionCallNowStr struct {
FunctionCall
}
func (*FunctionCallNowStr) Accept ¶ added in v0.6.0
func (this *FunctionCallNowStr) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallNowStr) Copy ¶ added in v0.6.0
func (this *FunctionCallNowStr) Copy() Expression
type FunctionCallNullIf ¶
type FunctionCallNullIf struct {
FunctionCall
}
func (*FunctionCallNullIf) Accept ¶
func (this *FunctionCallNullIf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallNullIf) Copy ¶ added in v0.6.0
func (this *FunctionCallNullIf) Copy() Expression
type FunctionCallObjectLength ¶ added in v0.7.0
type FunctionCallObjectLength struct {
FunctionCall
}
object_length()
func (*FunctionCallObjectLength) Accept ¶ added in v0.7.0
func (this *FunctionCallObjectLength) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallObjectLength) Copy ¶ added in v0.7.0
func (this *FunctionCallObjectLength) Copy() Expression
type FunctionCallPanic ¶
type FunctionCallPanic struct {
FunctionCall
}
func (*FunctionCallPanic) Accept ¶
func (this *FunctionCallPanic) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallPanic) Copy ¶ added in v0.6.0
func (this *FunctionCallPanic) Copy() Expression
type FunctionCallPolyLength ¶ added in v0.7.0
type FunctionCallPolyLength struct {
FunctionCall
}
poly_length() operate on any type
func (*FunctionCallPolyLength) Accept ¶ added in v0.7.0
func (this *FunctionCallPolyLength) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallPolyLength) Copy ¶ added in v0.7.0
func (this *FunctionCallPolyLength) Copy() Expression
type FunctionCallPosInfIf ¶
type FunctionCallPosInfIf struct {
FunctionCall
}
func (*FunctionCallPosInfIf) Accept ¶
func (this *FunctionCallPosInfIf) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallPosInfIf) Copy ¶ added in v0.6.0
func (this *FunctionCallPosInfIf) Copy() Expression
type FunctionCallRTrim ¶
type FunctionCallRTrim struct {
FunctionCall
}
func (*FunctionCallRTrim) Accept ¶
func (this *FunctionCallRTrim) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallRTrim) Copy ¶ added in v0.6.0
func (this *FunctionCallRTrim) Copy() Expression
type FunctionCallRound ¶
type FunctionCallRound struct {
FunctionCall
}
func (*FunctionCallRound) Accept ¶
func (this *FunctionCallRound) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallRound) Copy ¶ added in v0.6.0
func (this *FunctionCallRound) Copy() Expression
type FunctionCallSplit ¶ added in v0.7.2
type FunctionCallSplit struct {
FunctionCall
}
func (*FunctionCallSplit) Accept ¶ added in v0.7.2
func (this *FunctionCallSplit) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallSplit) Copy ¶ added in v0.7.2
func (this *FunctionCallSplit) Copy() Expression
type FunctionCallStrToMillis ¶ added in v0.7.0
type FunctionCallStrToMillis struct {
FunctionCall
}
func (*FunctionCallStrToMillis) Accept ¶ added in v0.7.0
func (this *FunctionCallStrToMillis) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallStrToMillis) Copy ¶ added in v0.7.0
func (this *FunctionCallStrToMillis) Copy() Expression
type FunctionCallSubStr ¶
type FunctionCallSubStr struct {
FunctionCall
}
func (*FunctionCallSubStr) Accept ¶
func (this *FunctionCallSubStr) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallSubStr) Copy ¶ added in v0.6.0
func (this *FunctionCallSubStr) Copy() Expression
type FunctionCallSum ¶
type FunctionCallSum struct {
AggregateFunctionCall
}
func (*FunctionCallSum) Accept ¶
func (this *FunctionCallSum) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallSum) Copy ¶ added in v0.6.0
func (this *FunctionCallSum) Copy() Expression
func (*FunctionCallSum) DefaultAggregate ¶
func (this *FunctionCallSum) DefaultAggregate(group *dparval.Value) error
func (*FunctionCallSum) UpdateAggregate ¶
type FunctionCallToArray ¶ added in v0.7.0
type FunctionCallToArray struct {
FunctionCall
}
func (*FunctionCallToArray) Accept ¶ added in v0.7.0
func (this *FunctionCallToArray) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallToArray) Copy ¶ added in v0.7.0
func (this *FunctionCallToArray) Copy() Expression
type FunctionCallToAtom ¶ added in v0.7.0
type FunctionCallToAtom struct {
FunctionCall
}
func (*FunctionCallToAtom) Accept ¶ added in v0.7.0
func (this *FunctionCallToAtom) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallToAtom) Copy ¶ added in v0.7.0
func (this *FunctionCallToAtom) Copy() Expression
type FunctionCallToBool ¶ added in v0.7.0
type FunctionCallToBool struct {
FunctionCall
}
func (*FunctionCallToBool) Accept ¶ added in v0.7.0
func (this *FunctionCallToBool) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallToBool) Copy ¶ added in v0.7.0
func (this *FunctionCallToBool) Copy() Expression
type FunctionCallToNum ¶ added in v0.7.0
type FunctionCallToNum struct {
FunctionCall
}
func (*FunctionCallToNum) Accept ¶ added in v0.7.0
func (this *FunctionCallToNum) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallToNum) Copy ¶ added in v0.7.0
func (this *FunctionCallToNum) Copy() Expression
type FunctionCallToStr ¶ added in v0.7.0
type FunctionCallToStr struct {
FunctionCall
}
func (*FunctionCallToStr) Accept ¶ added in v0.7.0
func (this *FunctionCallToStr) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallToStr) Copy ¶ added in v0.7.0
func (this *FunctionCallToStr) Copy() Expression
type FunctionCallTrim ¶
type FunctionCallTrim struct {
FunctionCall
}
func (*FunctionCallTrim) Accept ¶
func (this *FunctionCallTrim) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallTrim) Copy ¶ added in v0.6.0
func (this *FunctionCallTrim) Copy() Expression
type FunctionCallTrunc ¶
type FunctionCallTrunc struct {
FunctionCall
}
func (*FunctionCallTrunc) Accept ¶
func (this *FunctionCallTrunc) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallTrunc) Copy ¶ added in v0.6.0
func (this *FunctionCallTrunc) Copy() Expression
type FunctionCallTypeName ¶ added in v0.7.0
type FunctionCallTypeName struct {
FunctionCall
}
func (*FunctionCallTypeName) Accept ¶ added in v0.7.0
func (this *FunctionCallTypeName) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallTypeName) Copy ¶ added in v0.7.0
func (this *FunctionCallTypeName) Copy() Expression
type FunctionCallUnknown ¶
type FunctionCallUnknown struct {
FunctionCall
}
func (*FunctionCallUnknown) Accept ¶
func (this *FunctionCallUnknown) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallUnknown) Arity ¶
func (this *FunctionCallUnknown) Arity() (int, int)
func (*FunctionCallUnknown) Copy ¶ added in v0.6.0
func (this *FunctionCallUnknown) Copy() Expression
type FunctionCallUpper ¶
type FunctionCallUpper struct {
FunctionCall
}
func (*FunctionCallUpper) Accept ¶
func (this *FunctionCallUpper) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallUpper) Copy ¶ added in v0.6.0
func (this *FunctionCallUpper) Copy() Expression
type FunctionCallValue ¶
type FunctionCallValue struct {
FunctionCall
}
func (*FunctionCallValue) Accept ¶
func (this *FunctionCallValue) Accept(ev ExpressionVisitor) (Expression, error)
func (*FunctionCallValue) Copy ¶ added in v0.6.0
func (this *FunctionCallValue) Copy() Expression
type GreaterThanOperator ¶
type GreaterThanOperator struct { Type string `json:"type"` BinaryOperator }
func NewGreaterThanOperator ¶
func NewGreaterThanOperator(left, right Expression) *GreaterThanOperator
func (*GreaterThanOperator) Accept ¶
func (this *GreaterThanOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*GreaterThanOperator) Copy ¶ added in v0.6.0
func (this *GreaterThanOperator) Copy() Expression
type GreaterThanOrEqualOperator ¶
type GreaterThanOrEqualOperator struct { Type string `json:"type"` BinaryOperator }
func NewGreaterThanOrEqualOperator ¶
func NewGreaterThanOrEqualOperator(left, right Expression) *GreaterThanOrEqualOperator
func (*GreaterThanOrEqualOperator) Accept ¶
func (this *GreaterThanOrEqualOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*GreaterThanOrEqualOperator) Copy ¶ added in v0.6.0
func (this *GreaterThanOrEqualOperator) Copy() Expression
type InOperator ¶ added in v0.7.0
type InOperator struct { Type string `json:"type"` BinaryOperator }
**************************************************************************** IN operator ****************************************************************************
func NewInOperator ¶ added in v0.7.0
func NewInOperator(left, right Expression) *InOperator
func (*InOperator) Accept ¶ added in v0.7.0
func (this *InOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*InOperator) Copy ¶ added in v0.7.0
func (this *InOperator) Copy() Expression
type IsMissingOperator ¶
type IsMissingOperator struct { Type string `json:"type"` UnaryOperator }
func NewIsMissingOperator ¶
func NewIsMissingOperator(operand Expression) *IsMissingOperator
func (*IsMissingOperator) Accept ¶
func (this *IsMissingOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*IsMissingOperator) Copy ¶ added in v0.6.0
func (this *IsMissingOperator) Copy() Expression
type IsNotMissingOperator ¶
type IsNotMissingOperator struct { Type string `json:"type"` UnaryOperator }
func NewIsNotMissingOperator ¶
func NewIsNotMissingOperator(operand Expression) *IsNotMissingOperator
func (*IsNotMissingOperator) Accept ¶
func (this *IsNotMissingOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*IsNotMissingOperator) Copy ¶ added in v0.6.0
func (this *IsNotMissingOperator) Copy() Expression
type IsNotNullOperator ¶
type IsNotNullOperator struct { Type string `json:"type"` UnaryOperator }
func NewIsNotNullOperator ¶
func NewIsNotNullOperator(operand Expression) *IsNotNullOperator
func (*IsNotNullOperator) Accept ¶
func (this *IsNotNullOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*IsNotNullOperator) Copy ¶ added in v0.6.0
func (this *IsNotNullOperator) Copy() Expression
type IsNotValuedOperator ¶
type IsNotValuedOperator struct { Type string `json:"type"` UnaryOperator }
func NewIsNotValuedOperator ¶
func NewIsNotValuedOperator(operand Expression) *IsNotValuedOperator
func (*IsNotValuedOperator) Accept ¶
func (this *IsNotValuedOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*IsNotValuedOperator) Copy ¶ added in v0.6.0
func (this *IsNotValuedOperator) Copy() Expression
type IsNullOperator ¶
type IsNullOperator struct { Type string `json:"type"` UnaryOperator }
func NewIsNullOperator ¶
func NewIsNullOperator(operand Expression) *IsNullOperator
func (*IsNullOperator) Accept ¶
func (this *IsNullOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*IsNullOperator) Copy ¶ added in v0.6.0
func (this *IsNullOperator) Copy() Expression
type IsValuedOperator ¶
type IsValuedOperator struct { Type string `json:"type"` UnaryOperator }
func NewIsValuedOperator ¶
func NewIsValuedOperator(operand Expression) *IsValuedOperator
func (*IsValuedOperator) Accept ¶
func (this *IsValuedOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*IsValuedOperator) Copy ¶ added in v0.6.0
func (this *IsValuedOperator) Copy() Expression
type KeyExpression ¶ added in v0.7.0
type KeyExpression struct { Expr Expression `json:"expr"` Type string `json:"type"` Keys []string `json:"keys"` }
func NewKeyExpression ¶ added in v0.7.0
func NewKeyExpression(expr Expression, typeof string) *KeyExpression
func (*KeyExpression) GetKeys ¶ added in v0.7.0
func (this *KeyExpression) GetKeys() []string
func (*KeyExpression) String ¶ added in v0.7.0
func (this *KeyExpression) String() string
func (*KeyExpression) Validate ¶ added in v0.7.0
func (this *KeyExpression) Validate() error
type LessThanOperator ¶
type LessThanOperator struct { Type string `json:"type"` BinaryOperator }
func NewLessThanOperator ¶
func NewLessThanOperator(left, right Expression) *LessThanOperator
func (*LessThanOperator) Accept ¶
func (this *LessThanOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*LessThanOperator) Copy ¶ added in v0.6.0
func (this *LessThanOperator) Copy() Expression
type LessThanOrEqualOperator ¶
type LessThanOrEqualOperator struct { Type string `json:"type"` BinaryOperator }
func NewLessThanOrEqualOperator ¶
func NewLessThanOrEqualOperator(left, right Expression) *LessThanOrEqualOperator
func (*LessThanOrEqualOperator) Accept ¶
func (this *LessThanOrEqualOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*LessThanOrEqualOperator) Copy ¶ added in v0.6.0
func (this *LessThanOrEqualOperator) Copy() Expression
type LikeOperator ¶
type LikeOperator struct { Type string `json:"type"` BinaryOperator }
**************************************************************************** Like **************************************************************************** FIXME - optimize case where RHS is string literal, only compile
the regular expression once
func NewLikeOperator ¶
func NewLikeOperator(left, right Expression) *LikeOperator
func (*LikeOperator) Accept ¶
func (this *LikeOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*LikeOperator) Copy ¶ added in v0.6.0
func (this *LikeOperator) Copy() Expression
type LiteralArray ¶
type LiteralArray struct { Type string `json:"type"` Val ExpressionList `json:"value"` }
func NewLiteralArray ¶
func NewLiteralArray(val ExpressionList) *LiteralArray
func (*LiteralArray) Accept ¶
func (this *LiteralArray) Accept(ev ExpressionVisitor) (Expression, error)
func (*LiteralArray) Copy ¶ added in v0.6.0
func (this *LiteralArray) Copy() Expression
func (*LiteralArray) Dependencies ¶
func (this *LiteralArray) Dependencies() ExpressionList
func (*LiteralArray) EquivalentTo ¶
func (this *LiteralArray) EquivalentTo(t Expression) bool
func (*LiteralArray) String ¶
func (this *LiteralArray) String() string
type LiteralBool ¶
func NewLiteralBool ¶
func NewLiteralBool(val bool) *LiteralBool
func (*LiteralBool) Accept ¶
func (this *LiteralBool) Accept(ev ExpressionVisitor) (Expression, error)
func (*LiteralBool) Copy ¶ added in v0.6.0
func (this *LiteralBool) Copy() Expression
func (*LiteralBool) Dependencies ¶
func (this *LiteralBool) Dependencies() ExpressionList
func (*LiteralBool) EquivalentTo ¶
func (this *LiteralBool) EquivalentTo(t Expression) bool
func (*LiteralBool) String ¶
func (this *LiteralBool) String() string
type LiteralNull ¶
type LiteralNull struct {
Type string `json:"type"`
}
func NewLiteralNull ¶
func NewLiteralNull() *LiteralNull
func (*LiteralNull) Accept ¶
func (this *LiteralNull) Accept(ev ExpressionVisitor) (Expression, error)
func (*LiteralNull) Copy ¶ added in v0.6.0
func (this *LiteralNull) Copy() Expression
func (*LiteralNull) Dependencies ¶
func (this *LiteralNull) Dependencies() ExpressionList
func (*LiteralNull) EquivalentTo ¶
func (this *LiteralNull) EquivalentTo(t Expression) bool
func (*LiteralNull) String ¶
func (this *LiteralNull) String() string
type LiteralNumber ¶
func NewLiteralNumber ¶
func NewLiteralNumber(val float64) *LiteralNumber
func (*LiteralNumber) Accept ¶
func (this *LiteralNumber) Accept(ev ExpressionVisitor) (Expression, error)
func (*LiteralNumber) Copy ¶ added in v0.6.0
func (this *LiteralNumber) Copy() Expression
func (*LiteralNumber) Dependencies ¶
func (this *LiteralNumber) Dependencies() ExpressionList
func (*LiteralNumber) EquivalentTo ¶
func (this *LiteralNumber) EquivalentTo(t Expression) bool
func (*LiteralNumber) String ¶
func (this *LiteralNumber) String() string
type LiteralObject ¶
type LiteralObject struct { Type string `json:"type"` Val map[string]Expression }
func NewLiteralObject ¶
func NewLiteralObject(val map[string]Expression) *LiteralObject
func (*LiteralObject) Accept ¶
func (this *LiteralObject) Accept(ev ExpressionVisitor) (Expression, error)
func (*LiteralObject) Copy ¶ added in v0.6.0
func (this *LiteralObject) Copy() Expression
func (*LiteralObject) Dependencies ¶
func (this *LiteralObject) Dependencies() ExpressionList
func (*LiteralObject) EquivalentTo ¶
func (this *LiteralObject) EquivalentTo(t Expression) bool
func (*LiteralObject) String ¶
func (this *LiteralObject) String() string
type LiteralString ¶
func NewLiteralString ¶
func NewLiteralString(val string) *LiteralString
func (*LiteralString) Accept ¶
func (this *LiteralString) Accept(ev ExpressionVisitor) (Expression, error)
func (*LiteralString) Copy ¶ added in v0.6.0
func (this *LiteralString) Copy() Expression
func (*LiteralString) Dependencies ¶
func (this *LiteralString) Dependencies() ExpressionList
func (*LiteralString) EquivalentTo ¶
func (this *LiteralString) EquivalentTo(t Expression) bool
func (*LiteralString) String ¶
func (this *LiteralString) String() string
type ModuloOperator ¶
type ModuloOperator struct { Type string `json:"type"` BinaryOperator }
func NewModuloOperator ¶
func NewModuloOperator(left, right Expression) *ModuloOperator
func (*ModuloOperator) Accept ¶
func (this *ModuloOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*ModuloOperator) Copy ¶ added in v0.6.0
func (this *ModuloOperator) Copy() Expression
type MultiplyOperator ¶
type MultiplyOperator struct { Type string `json:"type"` CommutativeBinaryOperator }
func NewMultiplyOperator ¶
func NewMultiplyOperator(left, right Expression) *MultiplyOperator
func (*MultiplyOperator) Accept ¶
func (this *MultiplyOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*MultiplyOperator) Copy ¶ added in v0.6.0
func (this *MultiplyOperator) Copy() Expression
type NaryOperator ¶
type NaryOperator struct { Operands ExpressionList `json:"operands"` // contains filtered or unexported fields }
func (*NaryOperator) Dependencies ¶
func (this *NaryOperator) Dependencies() ExpressionList
func (*NaryOperator) EquivalentTo ¶
func (this *NaryOperator) EquivalentTo(t Expression) bool
func (*NaryOperator) GetOperands ¶
func (this *NaryOperator) GetOperands() ExpressionList
func (*NaryOperator) Operator ¶
func (this *NaryOperator) Operator() string
func (*NaryOperator) SetOperand ¶
func (this *NaryOperator) SetOperand(i int, operand Expression)
func (*NaryOperator) SetOperands ¶
func (this *NaryOperator) SetOperands(operands ExpressionList)
func (*NaryOperator) String ¶
func (this *NaryOperator) String() string
type NaryOperatorExpression ¶
type NaryOperatorExpression interface { OperatorExpression GetOperands() ExpressionList SetOperands(ExpressionList) SetOperand(int, Expression) }
type NotEqualToOperator ¶
type NotEqualToOperator struct { Type string `json:"type"` CommutativeBinaryOperator }
func NewNotEqualToOperator ¶
func NewNotEqualToOperator(left, right Expression) *NotEqualToOperator
func (*NotEqualToOperator) Accept ¶
func (this *NotEqualToOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*NotEqualToOperator) Copy ¶ added in v0.6.0
func (this *NotEqualToOperator) Copy() Expression
type NotInOperator ¶ added in v0.7.0
type NotInOperator struct { Type string `json:"type"` BinaryOperator }
**************************************************************************** NOT IN operator ****************************************************************************
func NewNotInOperator ¶ added in v0.7.0
func NewNotInOperator(left, right Expression) *NotInOperator
func (*NotInOperator) Accept ¶ added in v0.7.0
func (this *NotInOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*NotInOperator) Copy ¶ added in v0.7.0
func (this *NotInOperator) Copy() Expression
type NotLikeOperator ¶
type NotLikeOperator struct { Type string `json:"type"` BinaryOperator }
**************************************************************************** Not Like **************************************************************************** FIXME - consolidate common code with LIKE
func NewNotLikeOperator ¶
func NewNotLikeOperator(left, right Expression) *NotLikeOperator
func (*NotLikeOperator) Accept ¶
func (this *NotLikeOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*NotLikeOperator) Copy ¶ added in v0.6.0
func (this *NotLikeOperator) Copy() Expression
type NotOperator ¶
type NotOperator struct { Type string `json:"type"` PrefixUnaryOperator }
func NewNotOperator ¶
func NewNotOperator(operand Expression) *NotOperator
func (*NotOperator) Accept ¶
func (this *NotOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*NotOperator) Copy ¶ added in v0.6.0
func (this *NotOperator) Copy() Expression
type OperatorExpression ¶
type OperatorExpression interface {
Operator() string
}
type OrOperator ¶
type OrOperator struct { Type string `json:"type"` NaryOperator }
func NewOrOperator ¶
func NewOrOperator(operands ExpressionList) *OrOperator
func (*OrOperator) Accept ¶
func (this *OrOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*OrOperator) Copy ¶ added in v0.6.0
func (this *OrOperator) Copy() Expression
type PlusOperator ¶
type PlusOperator struct { Type string `json:"type"` CommutativeBinaryOperator }
func NewPlusOperator ¶
func NewPlusOperator(left, right Expression) *PlusOperator
func (*PlusOperator) Accept ¶
func (this *PlusOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*PlusOperator) Copy ¶ added in v0.6.0
func (this *PlusOperator) Copy() Expression
type PrefixUnaryOperator ¶
type PrefixUnaryOperator struct {
UnaryOperator
}
func (*PrefixUnaryOperator) String ¶
func (this *PrefixUnaryOperator) String() string
type Property ¶
func NewProperty ¶
func (*Property) Accept ¶
func (this *Property) Accept(ev ExpressionVisitor) (Expression, error)
func (*Property) Copy ¶ added in v0.6.0
func (this *Property) Copy() Expression
func (*Property) Dependencies ¶
func (this *Property) Dependencies() ExpressionList
func (*Property) EquivalentTo ¶
func (this *Property) EquivalentTo(t Expression) bool
type ResultExpression ¶
type ResultExpression struct { Star bool `json:"star"` Expr Expression `json:"expr"` As string `json:"as"` }
func NewDotStarResultExpression ¶
func NewDotStarResultExpression(expr Expression) *ResultExpression
func NewResultExpression ¶
func NewResultExpression(expr Expression) *ResultExpression
func NewResultExpressionWithAlias ¶
func NewResultExpressionWithAlias(expr Expression, as string) *ResultExpression
func NewStarResultExpression ¶
func NewStarResultExpression() *ResultExpression
type ResultExpressionList ¶
type ResultExpressionList []*ResultExpression
func (ResultExpressionList) AssignDefaultNames ¶
func (this ResultExpressionList) AssignDefaultNames(namesInUse []string) error
this function should walk through the result expression list assign names to any unnamed expressions
func (ResultExpressionList) CheckForDuplicateAliases ¶
func (this ResultExpressionList) CheckForDuplicateAliases() ([]string, error)
this function should be called before assigning default names it should check to see if any explicitly named aliases are duplicated if so, this is an error
func (ResultExpressionList) ContainsAggregateFunctionCall ¶
func (this ResultExpressionList) ContainsAggregateFunctionCall() bool
func (ResultExpressionList) ExpressionList ¶
func (this ResultExpressionList) ExpressionList() ExpressionList
return all the expressions in the projection as an ExpressionList will leave out * and path.* expressions
func (ResultExpressionList) Simplify ¶
func (this ResultExpressionList) Simplify() error
func (ResultExpressionList) String ¶
func (this ResultExpressionList) String() string
func (ResultExpressionList) Validate ¶
func (this ResultExpressionList) Validate() error
func (ResultExpressionList) VerifyAllAggregateFunctionsOrInThisList ¶
func (this ResultExpressionList) VerifyAllAggregateFunctionsOrInThisList(groupBy ExpressionList) error
func (ResultExpressionList) VerifyFormalNotation ¶
func (this ResultExpressionList) VerifyFormalNotation(forbiddenAliases []string, aliases []string, defaultAlias string) error
type SelectStatement ¶
type SelectStatement struct { Distinct bool `json:"distinct"` Select ResultExpressionList `json:"select"` From *From `json:"from"` Where Expression `json:"where"` GroupBy ExpressionList `json:"group_by"` Having Expression `json:"having"` OrderBy SortExpressionList `json:"orderby"` Limit int `json:"limit"` Offset int `json:"offset"` ExplainOnly bool `json:"explain"` Keys *KeyExpression `json:"keys"` // contains filtered or unexported fields }
func NewSelectStatement ¶
func NewSelectStatement() *SelectStatement
func (*SelectStatement) GetAggregateReferences ¶
func (this *SelectStatement) GetAggregateReferences() ExpressionList
func (*SelectStatement) GetExplicitProjectionAliases ¶
func (this *SelectStatement) GetExplicitProjectionAliases() []string
func (*SelectStatement) GetFrom ¶
func (this *SelectStatement) GetFrom() *From
func (*SelectStatement) GetFromAliases ¶
func (this *SelectStatement) GetFromAliases() []string
func (*SelectStatement) GetGroupBy ¶
func (this *SelectStatement) GetGroupBy() ExpressionList
func (*SelectStatement) GetHaving ¶
func (this *SelectStatement) GetHaving() Expression
func (*SelectStatement) GetLimit ¶
func (this *SelectStatement) GetLimit() int
func (*SelectStatement) GetOffset ¶
func (this *SelectStatement) GetOffset() int
func (*SelectStatement) GetOrderBy ¶
func (this *SelectStatement) GetOrderBy() SortExpressionList
func (*SelectStatement) GetResultExpressionList ¶
func (this *SelectStatement) GetResultExpressionList() ResultExpressionList
func (*SelectStatement) GetWhere ¶
func (this *SelectStatement) GetWhere() Expression
func (*SelectStatement) IsAggregate ¶
func (this *SelectStatement) IsAggregate() bool
func (*SelectStatement) IsDistinct ¶
func (this *SelectStatement) IsDistinct() bool
func (*SelectStatement) IsExplainOnly ¶
func (this *SelectStatement) IsExplainOnly() bool
func (*SelectStatement) SetExplainOnly ¶
func (this *SelectStatement) SetExplainOnly(explainOnly bool)
func (*SelectStatement) Simplify ¶
func (this *SelectStatement) Simplify() error
func (*SelectStatement) VerifySemantics ¶
func (this *SelectStatement) VerifySemantics() error
type SortExpression ¶
type SortExpression struct { Expr Expression `json:"expr"` Ascending bool `json:"asc"` }
func NewSortExpression ¶
func NewSortExpression(expr Expression, asc bool) *SortExpression
type SortExpressionList ¶
type SortExpressionList []*SortExpression
func (SortExpressionList) Simplify ¶
func (this SortExpressionList) Simplify() error
func (SortExpressionList) String ¶
func (this SortExpressionList) String() string
func (SortExpressionList) Validate ¶
func (this SortExpressionList) Validate() error
func (SortExpressionList) VerifyAllAggregateFunctionsOrInThisList ¶
func (this SortExpressionList) VerifyAllAggregateFunctionsOrInThisList(groupBy ExpressionList) error
func (SortExpressionList) VerifyAllEquivalentToThisList ¶
func (this SortExpressionList) VerifyAllEquivalentToThisList(exprs ExpressionList) error
func (SortExpressionList) VerifyFormalNotation ¶
func (this SortExpressionList) VerifyFormalNotation(forbiddenAliases []string, aliases []string, defaultAlias string) error
type Statement ¶
type Statement interface { SetExplainOnly(bool) IsExplainOnly() bool VerifySemantics() error Simplify() error }
Statement is the abstract representation of an N1QL statement
type StringConcatenateOperator ¶
type StringConcatenateOperator struct { Type string `json:"type"` BinaryOperator }
func NewStringConcatenateOperator ¶
func NewStringConcatenateOperator(left, right Expression) *StringConcatenateOperator
func (*StringConcatenateOperator) Accept ¶
func (this *StringConcatenateOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*StringConcatenateOperator) Copy ¶ added in v0.6.0
func (this *StringConcatenateOperator) Copy() Expression
type SubtractOperator ¶
type SubtractOperator struct { Type string `json:"type"` BinaryOperator }
func NewSubtractOperator ¶
func NewSubtractOperator(left, right Expression) *SubtractOperator
func (*SubtractOperator) Accept ¶
func (this *SubtractOperator) Accept(ev ExpressionVisitor) (Expression, error)
func (*SubtractOperator) Copy ¶ added in v0.6.0
func (this *SubtractOperator) Copy() Expression
type TypeMismatch ¶
type TypeMismatch struct {
// contains filtered or unexported fields
}
func (*TypeMismatch) Error ¶
func (this *TypeMismatch) Error() string
type UnaryOperator ¶
type UnaryOperator struct { Operand Expression `json:"operand"` // contains filtered or unexported fields }
func (*UnaryOperator) Dependencies ¶
func (this *UnaryOperator) Dependencies() ExpressionList
func (*UnaryOperator) EquivalentTo ¶
func (this *UnaryOperator) EquivalentTo(t Expression) bool
func (*UnaryOperator) EvaluateFlagMissing ¶
func (*UnaryOperator) EvaluateRequireNumber ¶
func (*UnaryOperator) GetOperand ¶
func (this *UnaryOperator) GetOperand() Expression
func (*UnaryOperator) Operator ¶
func (this *UnaryOperator) Operator() string
func (*UnaryOperator) SetOperand ¶
func (this *UnaryOperator) SetOperand(operand Expression)
func (*UnaryOperator) String ¶
func (this *UnaryOperator) String() string
type UnaryOperatorExpression ¶
type UnaryOperatorExpression interface { OperatorExpression GetOperand() Expression SetOperand(Expression) }
type WhenThen ¶
type WhenThen struct { When Expression `json:"when"` Then Expression `json:"then"` }
Source Files
¶
- arithmetic.go
- binary_operator.go
- binary_operator_commutative.go
- boolean.go
- case.go
- collate.go
- collection.go
- collection_all.go
- collection_any.go
- collection_array.go
- collection_first.go
- compare.go
- expression.go
- expression_aggregate_finder.go
- expression_cnf.go
- expression_equivalence.go
- expression_formal_notation.go
- expression_functional_dependency.go
- expression_json.go
- expression_list.go
- expression_nnf.go
- expression_simplify.go
- expression_validator.go
- expression_visitor.go
- from.go
- function.go
- function_aggregate.go
- function_aggregate_utils.go
- function_args.go
- function_array.go
- function_compare.go
- function_date.go
- function_dev.go
- function_numeric.go
- function_numeric_infinite.go
- function_registry.go
- function_strings.go
- function_typecast.go
- function_typecheck.go
- function_unknown.go
- function_util.go
- function_value_meta.go
- key.go
- literal.go
- logical.go
- member.go
- nary_operator.go
- orderby.go
- projection.go
- property.go
- statement.go
- statement_create_index.go
- statement_drop_index.go
- statement_select.go
- string.go
- unary_operator.go
- unary_operator_prefix.go