public class CollectNamespace extends AbstractNamespace
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.
CollectScope
Modifier and Type | Field and Description |
---|---|
private SqlCall |
child |
private SqlValidatorScope |
scope |
enclosingNode, rowType, type, validator
Constructor and Description |
---|
CollectNamespace(SqlCall child,
SqlValidatorScope scope,
SqlNode enclosingNode)
Creates a CollectNamespace.
|
Modifier and Type | Method and 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.
|
convertToStruct, fieldExists, getEnclosingNode, getMonotonicExprs, getMonotonicity, getRowType, getRowTypeSansSystemColumns, getTable, getType, getValidator, isWrapperFor, lookupChild, makeNullable, resolve, setType, supportsModality, toStruct, translate, unwrap, validate
private final SqlCall child
private final SqlValidatorScope scope
CollectNamespace(SqlCall child, SqlValidatorScope scope, SqlNode enclosingNode)
child
- Parse tree nodescope
- ScopeenclosingNode
- Enclosing parse tree nodeprotected RelDataType validateImpl(RelDataType targetRowType)
AbstractNamespace
AbstractNamespace.validate(org.apache.calcite.rel.type.RelDataType)
, which uses the
AbstractNamespace.status
field to protect against cycles.validateImpl
in class AbstractNamespace
targetRowType
- Desired row type, must not be null, may be the data
type 'unknown'.public SqlNode getNode()
SqlValidatorNamespace
TableNamespace
public SqlValidatorScope getScope()
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.