Modifier and Type | Field | Description |
---|---|---|
private ResultColumnList |
rcl |
|
private java.lang.Class<?> |
skipOverClass |
|
private int |
tableNumber |
Constructor | Description |
---|---|
ReplaceWindowFuncCallsWithCRVisitor(ResultColumnList rcl,
int tableNumber,
java.lang.Class<?> skipOverClass) |
Replace all window function calls with column references.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
skipChildren(Visitable node) |
Don't visit children under the skipOverClass
node, if it isn't null.
|
boolean |
stopTraversal() |
Visitor override.
|
Visitable |
visit(Visitable node) |
Don't do anything unless we have a window function node
node.
|
boolean |
visitChildrenFirst(Visitable node) |
Visitor override.
|
private ResultColumnList rcl
private java.lang.Class<?> skipOverClass
private int tableNumber
ReplaceWindowFuncCallsWithCRVisitor(ResultColumnList rcl, int tableNumber, java.lang.Class<?> skipOverClass)
rcl
- the result column listtableNumber
- The tableNumber for the new CRsskipOverClass
- Don't go past thispublic Visitable visit(Visitable node) throws StandardException
visit
in interface Visitor
node
- the node to processStandardException
- may be throw an error
as needed by the visitor (i.e. may be a normal error
if a particular node is found, e.g. if checking
a group by, we don't expect to find any ColumnReferences
that aren't under an AggregateNode -- the easiest
thing to do is just throw an error when we find the
questionable node).Visitor.visit(org.apache.derby.iapi.sql.compile.Visitable)
public boolean skipChildren(Visitable node)
skipChildren
in interface Visitor
node
- the node to processVisitor.skipChildren(org.apache.derby.iapi.sql.compile.Visitable)
public boolean visitChildrenFirst(Visitable node)
visitChildrenFirst
in interface Visitor
node
- the top node of a sub-tree about to be visitedVisitor.visitChildrenFirst(org.apache.derby.iapi.sql.compile.Visitable)
public boolean stopTraversal()
stopTraversal
in interface Visitor
Visitor.skipChildren(org.apache.derby.iapi.sql.compile.Visitable)
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.