Package org.apache.calcite.sql.validate
Class CollectNamespace
- java.lang.Object
-
- org.apache.calcite.sql.validate.AbstractNamespace
-
- org.apache.calcite.sql.validate.CollectNamespace
-
- All Implemented Interfaces:
SqlValidatorNamespace
public class CollectNamespace extends AbstractNamespace
Namespace for COLLECT and TABLE constructs.Examples:
SELECT deptno, COLLECT(empno) FROM emp GROUP BY deptno
,SELECT * FROM (TABLE getEmpsInDept(30))
.
NOTE: jhyde, 2006/4/24: These days, this class seems to be used exclusively for the
MULTISET
construct.- See Also:
CollectScope
-
-
Field Summary
Fields Modifier and Type Field Description private SqlCall
child
private SqlValidatorScope
scope
-
Fields inherited from class org.apache.calcite.sql.validate.AbstractNamespace
enclosingNode, rowType, type, validator
-
-
Constructor Summary
Constructors Constructor Description CollectNamespace(SqlCall child, SqlValidatorScope scope, SqlNode enclosingNode)
Creates a CollectNamespace.
-
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.SqlValidatorScope
getScope()
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
-
child
private final SqlCall child
-
scope
private final SqlValidatorScope scope
-
-
Constructor Detail
-
CollectNamespace
CollectNamespace(SqlCall child, SqlValidatorScope scope, SqlNode enclosingNode)
Creates a CollectNamespace.- Parameters:
child
- Parse tree nodescope
- ScopeenclosingNode
- Enclosing parse tree 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
-
getScope
public SqlValidatorScope getScope()
-
-