Package org.apache.calcite.sql.util
Class SqlShuttle
- java.lang.Object
-
- org.apache.calcite.sql.util.SqlBasicVisitor<SqlNode>
-
- org.apache.calcite.sql.util.SqlShuttle
-
- All Implemented Interfaces:
SqlVisitor<SqlNode>
- Direct Known Subclasses:
SqlScopedShuttle
,SqlValidatorImpl.NavigationModifier
public class SqlShuttle extends SqlBasicVisitor<SqlNode>
Basic implementation ofSqlVisitor
which returns each leaf node unchanged.This class is useful as a base class for classes which implement the
SqlVisitor
interface and haveSqlNode
as the return type. The derived class can override whichever methods it chooses.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
SqlShuttle.CallCopyingArgHandler
Implementation ofSqlBasicVisitor.ArgHandler
that deep-copiesSqlCall
s and their operands.-
Nested classes/interfaces inherited from class org.apache.calcite.sql.util.SqlBasicVisitor
SqlBasicVisitor.ArgHandler<R>, SqlBasicVisitor.ArgHandlerImpl<R>
-
-
Constructor Summary
Constructors Constructor Description SqlShuttle()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SqlNode
visit(SqlCall call)
Visits a call to aSqlOperator
.SqlNode
visit(SqlDataTypeSpec type)
Visits a datatype specification.SqlNode
visit(SqlDynamicParam param)
Visits a dynamic parameter.SqlNode
visit(SqlIdentifier id)
Visits an identifier.SqlNode
visit(SqlIntervalQualifier intervalQualifier)
Visits an interval qualifierSqlNode
visit(SqlLiteral literal)
Visits a literal.SqlNode
visit(SqlNodeList nodeList)
Visits a list ofSqlNode
objects.
-
-
-
Method Detail
-
visit
public SqlNode visit(SqlLiteral literal)
Description copied from interface:SqlVisitor
Visits a literal.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
literal
- Literal- See Also:
SqlLiteral.accept(SqlVisitor)
-
visit
public SqlNode visit(SqlIdentifier id)
Description copied from interface:SqlVisitor
Visits an identifier.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
id
- identifier- See Also:
SqlIdentifier.accept(SqlVisitor)
-
visit
public SqlNode visit(SqlDataTypeSpec type)
Description copied from interface:SqlVisitor
Visits a datatype specification.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
type
- datatype specification- See Also:
SqlDataTypeSpec.accept(SqlVisitor)
-
visit
public SqlNode visit(SqlDynamicParam param)
Description copied from interface:SqlVisitor
Visits a dynamic parameter.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
param
- Dynamic parameter- See Also:
SqlDynamicParam.accept(SqlVisitor)
-
visit
public SqlNode visit(SqlIntervalQualifier intervalQualifier)
Description copied from interface:SqlVisitor
Visits an interval qualifier- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
intervalQualifier
- Interval qualifier- See Also:
SqlIntervalQualifier.accept(SqlVisitor)
-
visit
public SqlNode visit(SqlCall call)
Description copied from interface:SqlVisitor
Visits a call to aSqlOperator
.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
call
- Call- See Also:
SqlCall.accept(SqlVisitor)
-
visit
public SqlNode visit(SqlNodeList nodeList)
Description copied from interface:SqlVisitor
Visits a list ofSqlNode
objects.- Specified by:
visit
in interfaceSqlVisitor<SqlNode>
- Overrides:
visit
in classSqlBasicVisitor<SqlNode>
- Parameters:
nodeList
- list of nodes- See Also:
SqlNodeList.accept(SqlVisitor)
-
-