Package org.apache.calcite.rex
Class RexOver
java.lang.Object
org.apache.calcite.rex.RexNode
org.apache.calcite.rex.RexCall
org.apache.calcite.rex.RexOver
Call to an aggregate function over a window.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescription<R,
P> R accept
(RexBiVisitor<R, P> visitor, P arg) Accepts a visitor with a payload, dispatching to the right overloadedRexBiVisitor.visitInputRef(RexInputRef, Object)
visitXxx} method.<R> R
accept
(RexVisitor<R> visitor) Accepts a visitor, dispatching to the right overloadedvisitXxx
method.clone
(RelDataType type, List<RexNode> operands) Creates a new call to the same operator with different operands.protected String
computeDigest
(boolean withType) static boolean
containsOver
(List<? extends RexNode> exprs, @Nullable RexNode condition) Returns whether an expression list contains an OVER clause.static boolean
containsOver
(RexNode expr) Returns whether an expression contains an OVER clause.static boolean
containsOver
(RexProgram program) Returns whether a program contains an OVER clause.boolean
Returns the aggregate operator for this expression.int
hashCode()
boolean
boolean
int
Returns the number of nodes in this expression.Methods inherited from class org.apache.calcite.rex.RexCall
appendOperands, getKind, getOperands, getOperator, getParserPosition, getType, isAlwaysFalse, isAlwaysTrue, operandCount, toString
-
Method Details
-
getAggOperator
Returns the aggregate operator for this expression. -
getWindow
-
isDistinct
public boolean isDistinct() -
ignoreNulls
public boolean ignoreNulls() -
computeDigest
- Overrides:
computeDigest
in classRexCall
-
accept
Description copied from class:RexNode
Accepts a visitor, dispatching to the right overloadedvisitXxx
method.Also see
RexUtil.apply(RexVisitor, java.util.List, RexNode)
, which applies a visitor to several expressions simultaneously. -
accept
Description copied from class:RexNode
Accepts a visitor with a payload, dispatching to the right overloadedRexBiVisitor.visitInputRef(RexInputRef, Object)
visitXxx} method. -
nodeCount
public int nodeCount()Description copied from class:RexNode
Returns the number of nodes in this expression.Leaf nodes, such as
RexInputRef
orRexLiteral
, have a count of 1. Calls have a count of 1 plus the sum of their operands.Node count is a measure of expression complexity that is used by some planner rules to prevent deeply nested expressions.
-
containsOver
Returns whether an expression contains an OVER clause. -
containsOver
Returns whether a program contains an OVER clause. -
containsOver
Returns whether an expression list contains an OVER clause. -
clone
Description copied from class:RexCall
Creates a new call to the same operator with different operands. -
equals
Description copied from class:RexNode
Every node must implement
RexNode.equals(java.lang.Object)
based on its content -
hashCode
public int hashCode()Description copied from class:RexNode
Every node must implement
RexNode.hashCode()
consistent withRexNode.equals(java.lang.Object)
-