| Modifier and Type | Field and Description |
|---|---|
| private ResultColumn | |
| private ColumnReference | |
| private WindowNode |
| Access | Constructor and Description |
|---|---|
| pack-priv | WindowFunctionNode(ValueNode
operand (null for now) op, String operator functionName, WindowNode window node (definition or reference) w, ContextManager context manager cm)
|
| Modifier and Type | Method and Description |
|---|---|
| pack-priv ValueNode | bindExpression(FromList
The FROM list for the query this
expression is in, for binding columns. fromList, SubqueryList The subquery list being built as we find SubqueryNodes subqueryList, List<AggregateNode> The aggregate list being built as we find AggregateNodes aggregates)Overrides org. ValueNode override. |
| pack-priv boolean | constantExpression(PredicateList whereClause)
Overrides org. ValueNode override. |
| private WindowDefinitionNode | Returns: if name matches a defined window (in windows), return the definition of that window, else null.
|
| pack-priv ColumnReference | Returns: the column referenceGet the generated ColumnReference to this window function after the parent called replaceCallsWithColumnReferences(). |
| pack-priv ValueNode | |
| pack-priv WindowNode | |
| public boolean | isConstantExpression()
Overrides org. ValueNode override. |
| public void | printSubNodes(int
The depth of this node in the tree depth)Overrides org. QueryTreeNode override. |
| pack-priv ValueNode | Returns: ValueNode The (potentially) modified tree.The RCL to append to. rcl, int The tableNumber for the new ColumnReference tableNumber)Replace window function calls in the expression tree with a ColumnReference to that window function, append the aggregate to the supplied RCL (assumed to be from the child ResultSetNode) and return the ColumnReference. |
| pack-priv void | setWindow(WindowDefinitionNode
window definition wdn)Set window associated with this window function call. |
| generatedRC | back to summary |
|---|---|
| private ResultColumn generatedRC | |
| generatedRef | back to summary |
|---|---|
| private ColumnReference generatedRef | |
| window | back to summary |
|---|---|
| private WindowNode window | |
| WindowFunctionNode | back to summary |
|---|---|
pack-priv WindowFunctionNode(ValueNode op, String functionName, WindowNode w, ContextManager cm) throws StandardException
| |
| constantExpression | back to summary |
|---|---|
| pack-priv boolean constantExpression(PredicateList whereClause) Overrides org. ValueNode override.
| |
| definedWindow | back to summary |
|---|---|
private WindowDefinitionNode definedWindow(WindowList windows, String name)
| |
| getGeneratedRef | back to summary |
|---|---|
| pack-priv ColumnReference getGeneratedRef() Get the generated ColumnReference to this window function after the parent called replaceCallsWithColumnReferences(). There are cases where this will not have been done because the tree has been re-written to eliminate the window function, e.g. for this query:
in which case the top PRN of the subquery sitting over a
WindowResultSetNode just contains a RC which is boolean constant
| |
| getNewNullResultExpression | back to summary |
|---|---|
| pack-priv ValueNode getNewNullResultExpression() throws StandardException Get the null result expression column.
| |
| getWindow | back to summary |
|---|---|
pack-priv WindowNode getWindow()
| |
| isConstantExpression | back to summary |
|---|---|
| public boolean isConstantExpression() Overrides org. ValueNode override.
| |
| printSubNodes | back to summary |
|---|---|
| public void printSubNodes(int depth) Overrides org. QueryTreeNode override.
| |
| replaceCallsWithColumnReferences | back to summary |
|---|---|
| pack-priv ValueNode replaceCallsWithColumnReferences(ResultColumnList rcl, int tableNumber) throws StandardException Replace window function calls in the expression tree with a ColumnReference to that window function, append the aggregate to the supplied RCL (assumed to be from the child ResultSetNode) and return the ColumnReference.
| |
| setWindow | back to summary |
|---|---|
| pack-priv void setWindow(WindowDefinitionNode wdn) Set window associated with this window function call.
| |