org.eigenbase.sql.validate
Class CollectNamespace
java.lang.Object
org.eigenbase.sql.validate.AbstractNamespace
org.eigenbase.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.
- Since:
- Mar 25, 2003
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/validate/CollectNamespace.java#11 $
- Author:
- wael
- See Also:
CollectScope
Methods inherited from class org.eigenbase.sql.validate.AbstractNamespace |
fieldExists, getEnclosingNode, getMonotonicExprs, getMonotonicity, getRowType, getRowTypeSansSystemColumns, getTable, getValidator, isWrapperFor, lookupChild, makeNullable, setRowType, translate, unwrap, validate |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
child
private final SqlCall child
scope
private final SqlValidatorScope scope
CollectNamespace
CollectNamespace(SqlCall child,
SqlValidatorScope scope,
SqlNode enclosingNode)
- Creates a CollectNamespace.
- Parameters:
child
- Parse tree nodescope
- ScopeenclosingNode
- Enclosing parse tree node
validateImpl
protected RelDataType validateImpl()
- Description copied from class:
AbstractNamespace
- Validates this scope and returns the type of the records it returns.
External users should call
AbstractNamespace.validate()
, which uses the AbstractNamespace.status
field to protect against cycles.
- Specified by:
validateImpl
in class AbstractNamespace
- 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
getScope
public SqlValidatorScope getScope()