|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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 specification| Method Detail |
|---|
public SqlAggFunction getAggOperator()
public RexWindow getWindow()
protected String computeDigest(boolean withType)
computeDigest in class RexCallpublic RexOver clone()
clone in class RexCallpublic <R> R accept(RexVisitor<R> visitor)
RexNodevisitXxx method.
Also see RexProgram.apply(RexVisitor, RexNode[], RexNode),
which applies a visitor to several expressions simultaneously.
accept in class RexCallpublic 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 | ||||||||