Modifier and Type | Field and Description |
---|---|
private ResultColumnList |
rcl |
private java.lang.Class<?> |
skipOverClass |
private int |
tableNumber |
Constructor and Description |
---|
ReplaceWindowFuncCallsWithCRVisitor(ResultColumnList rcl,
int tableNumber,
java.lang.Class<?> skipOverClass)
Replace all window function calls with column references.
|
Modifier and Type | Method and 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.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.