Package org.apache.calcite.sql.validate
Class SqlValidatorImpl.DeriveTypeVisitor
- java.lang.Object
-
- org.apache.calcite.sql.validate.SqlValidatorImpl.DeriveTypeVisitor
-
- All Implemented Interfaces:
SqlVisitor<RelDataType>
- Enclosing class:
- SqlValidatorImpl
private class SqlValidatorImpl.DeriveTypeVisitor extends java.lang.Object implements SqlVisitor<RelDataType>
Visitor which derives the type of a givenSqlNode
.Each method must return the derived type. This visitor is basically a single-use dispatcher; the visit is never recursive.
-
-
Field Summary
Fields Modifier and Type Field Description private SqlValidatorScope
scope
-
Constructor Summary
Constructors Constructor Description DeriveTypeVisitor(SqlValidatorScope scope)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RelDataType
visit(SqlCall call)
Visits a call to aSqlOperator
.RelDataType
visit(SqlDataTypeSpec dataType)
Visits a datatype specification.RelDataType
visit(SqlDynamicParam param)
Visits a dynamic parameter.RelDataType
visit(SqlIdentifier id)
Visits an identifier.RelDataType
visit(SqlIntervalQualifier intervalQualifier)
Visits an interval qualifierRelDataType
visit(SqlLiteral literal)
Visits a literal.RelDataType
visit(SqlNodeList nodeList)
Visits a list ofSqlNode
objects.
-
-
-
Field Detail
-
scope
private final SqlValidatorScope scope
-
-
Constructor Detail
-
DeriveTypeVisitor
DeriveTypeVisitor(SqlValidatorScope scope)
-
-
Method Detail
-
visit
public RelDataType visit(SqlLiteral literal)
Description copied from interface:SqlVisitor
Visits a literal.- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
literal
- Literal- See Also:
SqlLiteral.accept(SqlVisitor)
-
visit
public RelDataType visit(SqlCall call)
Description copied from interface:SqlVisitor
Visits a call to aSqlOperator
.- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
call
- Call- See Also:
SqlCall.accept(SqlVisitor)
-
visit
public RelDataType visit(SqlNodeList nodeList)
Description copied from interface:SqlVisitor
Visits a list ofSqlNode
objects.- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
nodeList
- list of nodes- See Also:
SqlNodeList.accept(SqlVisitor)
-
visit
public RelDataType visit(SqlIdentifier id)
Description copied from interface:SqlVisitor
Visits an identifier.- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
id
- identifier- See Also:
SqlIdentifier.accept(SqlVisitor)
-
visit
public RelDataType visit(SqlDataTypeSpec dataType)
Description copied from interface:SqlVisitor
Visits a datatype specification.- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
dataType
- datatype specification- See Also:
SqlDataTypeSpec.accept(SqlVisitor)
-
visit
public RelDataType visit(SqlDynamicParam param)
Description copied from interface:SqlVisitor
Visits a dynamic parameter.- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
param
- Dynamic parameter- See Also:
SqlDynamicParam.accept(SqlVisitor)
-
visit
public RelDataType visit(SqlIntervalQualifier intervalQualifier)
Description copied from interface:SqlVisitor
Visits an interval qualifier- Specified by:
visit
in interfaceSqlVisitor<RelDataType>
- Parameters:
intervalQualifier
- Interval qualifier- See Also:
SqlIntervalQualifier.accept(SqlVisitor)
-
-