org.eigenbase.sql.validate
Class SqlScopedShuttle
java.lang.Object
org.eigenbase.sql.util.SqlBasicVisitor<SqlNode>
org.eigenbase.sql.util.SqlShuttle
org.eigenbase.sql.validate.SqlScopedShuttle
- All Implemented Interfaces:
- SqlVisitor<SqlNode>
- Direct Known Subclasses:
- SqlValidatorImpl.Expander, SqlValidatorImpl.OrderExpressionExpander, SqlValidatorUtil.DeepCopier
public abstract class SqlScopedShuttle
- extends SqlShuttle
Refinement to SqlShuttle
which maintains a stack of scopes.
Derived class should override visitScoped(SqlCall)
rather than
visit(SqlCall)
.
- Since:
- Jun 10, 2006
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/validate/SqlScopedShuttle.java#6 $
- Author:
- jhyde
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
scopes
private final Stack<SqlValidatorScope> scopes
SqlScopedShuttle
protected SqlScopedShuttle(SqlValidatorScope initialScope)
visit
public final SqlNode visit(SqlCall call)
- Description copied from interface:
SqlVisitor
- Visits a call to a
SqlOperator
.
- Specified by:
visit
in interface SqlVisitor<SqlNode>
- Overrides:
visit
in class SqlShuttle
- Parameters:
call
- Call- See Also:
SqlCall.accept(SqlVisitor)
visitScoped
protected SqlNode visitScoped(SqlCall call)
- Visits an operator call. If the call has entered a new scope, the base
class will have already modified the scope.
getScope
protected SqlValidatorScope getScope()
- Returns the current scope.