|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.rex.RexNode org.eigenbase.rex.RexCall org.eigenbase.rex.RexOver
public class RexOver
Call to an aggregate function over a window.
Nested Class Summary | |
---|---|
private static class |
RexOver.Finder
Visitor which detects a RexOver inside a RexNode
expression. |
private static class |
RexOver.OverFound
|
Field Summary | |
---|---|
private RexWindow |
window
|
Fields inherited from class org.eigenbase.rex.RexCall |
---|
operands |
Fields inherited from class org.eigenbase.rex.RexNode |
---|
digest, EMPTY_ARRAY |
Constructor Summary | |
---|---|
RexOver(RelDataType type,
SqlAggFunction op,
RexNode[] operands,
RexWindow window)
Creates a RexOver. |
Method Summary | ||
---|---|---|
|
accept(RexVisitor<R> visitor)
Accepts a visitor, dispatching to the right overloaded visitXxx method. |
|
RexOver |
clone()
|
|
protected String |
computeDigest(boolean withType)
|
|
static boolean |
containsOver(RexNode expr)
Returns whether an expression contains an OVER clause. |
|
static boolean |
containsOver(RexNode[] exprs,
RexNode expr)
Deprecated. |
|
static boolean |
containsOver(RexProgram program)
Returns whether a program contains an OVER clause. |
|
SqlAggFunction |
getAggOperator()
Returns the aggregate operator for this expression. |
|
RexWindow |
getWindow()
|
Methods inherited from class org.eigenbase.rex.RexCall |
---|
clone, getKind, getOperands, getOperator, getType, sqlKindToRexKind, toString |
Methods inherited from class org.eigenbase.rex.RexNode |
---|
isA, isAlwaysTrue |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final RexWindow window
Constructor Detail |
---|
RexOver(RelDataType type, SqlAggFunction op, RexNode[] operands, RexWindow window)
For example, "SUM(x) OVER (ROWS 3 PRECEDING)" is represented as:
SqlStdOperatorTable.sumOperator
,
RexFieldAccess
("x") }
SqlWindow
(ROWS 3 PRECEDING)
type
- Result typeop
- Aggregate operatoroperands
- Operands listwindow
- Window specificationMethod Detail |
---|
public SqlAggFunction getAggOperator()
public RexWindow getWindow()
protected String computeDigest(boolean withType)
computeDigest
in class RexCall
public RexOver clone()
clone
in class RexCall
public <R> R accept(RexVisitor<R> visitor)
RexNode
visitXxx
method.
Also see RexProgram.apply(RexVisitor, RexNode[], RexNode)
,
which applies a visitor to several expressions simultaneously.
accept
in class RexCall
public static boolean containsOver(RexNode expr)
public static boolean containsOver(RexProgram program)
public static boolean containsOver(RexNode[] exprs, RexNode expr)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |