Package org.apache.calcite.sql.validate
Class WithNamespace
- java.lang.Object
-
- org.apache.calcite.sql.validate.AbstractNamespace
-
- org.apache.calcite.sql.validate.WithNamespace
-
- All Implemented Interfaces:
SqlValidatorNamespace
public class WithNamespace extends AbstractNamespace
Namespace forWITH
clause.
-
-
Field Summary
Fields Modifier and Type Field Description private SqlWith
with
-
Fields inherited from class org.apache.calcite.sql.validate.AbstractNamespace
enclosingNode, rowType, type, validator
-
-
Constructor Summary
Constructors Constructor Description WithNamespace(SqlValidatorImpl validator, SqlWith with, SqlNode enclosingNode)
Creates a TableConstructorNamespace.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SqlNode
getNode()
Returns the parse tree node at the root of this namespace.protected RelDataType
validateImpl(RelDataType targetRowType)
Validates this scope and returns the type of the records it returns.-
Methods inherited from class org.apache.calcite.sql.validate.AbstractNamespace
convertToStruct, fieldExists, getEnclosingNode, getMonotonicExprs, getMonotonicity, getRowType, getRowTypeSansSystemColumns, getTable, getType, getValidator, isWrapperFor, lookupChild, makeNullable, resolve, setType, supportsModality, toStruct, translate, unwrap, validate
-
-
-
-
Field Detail
-
with
private final SqlWith with
-
-
Constructor Detail
-
WithNamespace
WithNamespace(SqlValidatorImpl validator, SqlWith with, SqlNode enclosingNode)
Creates a TableConstructorNamespace.- Parameters:
validator
- Validatorwith
- WITH clauseenclosingNode
- Enclosing node
-
-
Method Detail
-
validateImpl
protected RelDataType validateImpl(RelDataType targetRowType)
Description copied from class:AbstractNamespace
Validates this scope and returns the type of the records it returns. External users should callAbstractNamespace.validate(org.apache.calcite.rel.type.RelDataType)
, which uses theAbstractNamespace.status
field to protect against cycles.- Specified by:
validateImpl
in classAbstractNamespace
- Parameters:
targetRowType
- Desired row type, must not be null, may be the data type 'unknown'.- Returns:
- record data type, never null
-
getNode
public SqlNode getNode()
Description copied from interface:SqlValidatorNamespace
Returns the parse tree node at the root of this namespace.- Returns:
- parse tree node; null for
TableNamespace
-
-