Class RexOver


public class RexOver extends RexCall
Call to an aggregate function over a window.
  • Method Details

    • getAggOperator

      public SqlAggFunction getAggOperator()
      Returns the aggregate operator for this expression.
    • getWindow

      public RexWindow getWindow()
    • isDistinct

      public boolean isDistinct()
    • ignoreNulls

      public boolean ignoreNulls()
    • computeDigest

      protected String computeDigest(boolean withType)
      Overrides:
      computeDigest in class RexCall
    • accept

      public <R> R accept(RexVisitor<R> visitor)
      Description copied from class: RexNode
      Accepts a visitor, dispatching to the right overloaded visitXxx method.

      Also see RexUtil.apply(RexVisitor, java.util.List, RexNode), which applies a visitor to several expressions simultaneously.

      Overrides:
      accept in class RexCall
    • accept

      public <R, P> R accept(RexBiVisitor<R,P> visitor, P arg)
      Description copied from class: RexNode
      Accepts a visitor with a payload, dispatching to the right overloaded RexBiVisitor.visitInputRef(RexInputRef, Object) visitXxx} method.
      Overrides:
      accept in class RexCall
    • nodeCount

      public int nodeCount()
      Description copied from class: RexNode
      Returns the number of nodes in this expression.

      Leaf nodes, such as RexInputRef or RexLiteral, 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.

      Overrides:
      nodeCount in class RexCall
    • containsOver

      public static boolean containsOver(RexNode expr)
      Returns whether an expression contains an OVER clause.
    • containsOver

      public static boolean containsOver(RexProgram program)
      Returns whether a program contains an OVER clause.
    • containsOver

      public static boolean containsOver(List<? extends RexNode> exprs, @Nullable RexNode condition)
      Returns whether an expression list contains an OVER clause.
    • clone

      public RexCall clone(RelDataType type, List<RexNode> operands)
      Description copied from class: RexCall
      Creates a new call to the same operator with different operands.
      Overrides:
      clone in class RexCall
      Parameters:
      type - Return type
      operands - Operands to call
      Returns:
      New call
    • equals

      public boolean equals(@Nullable Object o)
      Description copied from class: RexNode

      Every node must implement RexNode.equals(java.lang.Object) based on its content

      Overrides:
      equals in class RexCall
    • hashCode

      public int hashCode()
      Description copied from class: RexNode

      Every node must implement RexNode.hashCode() consistent with RexNode.equals(java.lang.Object)

      Overrides:
      hashCode in class RexCall