Package org.apache.calcite.sql.validate
Class SqlScopedShuttle
java.lang.Object
org.apache.calcite.sql.util.SqlBasicVisitor<@Nullable SqlNode>
org.apache.calcite.sql.util.SqlShuttle
org.apache.calcite.sql.validate.SqlScopedShuttle
- All Implemented Interfaces:
SqlVisitor<SqlNode>
- Direct Known Subclasses:
SqlValidatorUtil.DeepCopier
Refinement to
SqlShuttle
which maintains a stack of scopes.
Derived class should override visitScoped(SqlCall)
rather than
SqlVisitor.visit(SqlCall)
.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.calcite.sql.util.SqlShuttle
SqlShuttle.CallCopyingArgHandler
Nested classes/interfaces inherited from class org.apache.calcite.sql.util.SqlBasicVisitor
SqlBasicVisitor.ArgHandler<R>, SqlBasicVisitor.ArgHandlerImpl<R>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected SqlValidatorScope
getScope()
Returns the current scope.final @Nullable SqlNode
Visits a call to aSqlOperator
.protected @Nullable SqlNode
visitScoped
(SqlCall call) Visits an operator call.Methods inherited from class org.apache.calcite.sql.util.SqlShuttle
visit, visit, visit, visit, visit, visit
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.calcite.sql.util.SqlVisitor
visitNode
-
Constructor Details
-
SqlScopedShuttle
-
-
Method Details
-
visit
Description copied from interface:SqlVisitor
Visits a call to aSqlOperator
.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlShuttle
- Parameters:
call
- Call- See Also:
-
visitScoped
Visits an operator call. If the call has entered a new scope, the base class will have already modified the scope. -
getScope
Returns the current scope.
-