org.eigenbase.sql.validate
Class CollectNamespace

java.lang.Object
  extended by org.eigenbase.sql.validate.AbstractNamespace
      extended by org.eigenbase.sql.validate.CollectNamespace
All Implemented Interfaces:
SqlValidatorNamespace

public class CollectNamespace
extends AbstractNamespace

Namespace for COLLECT and TABLE constructs.

Examples:

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

Field Summary
private  SqlCall child
           
private  SqlValidatorScope scope
           
 
Fields inherited from class org.eigenbase.sql.validate.AbstractNamespace
enclosingNode, rowType, validator
 
Constructor Summary
CollectNamespace(SqlCall child, SqlValidatorScope scope, SqlNode enclosingNode)
          Creates a CollectNamespace.
 
Method Summary
 SqlNode getNode()
          Returns the parse tree node at the root of this namespace.
 SqlValidatorScope getScope()
           
protected  RelDataType validateImpl()
          Validates this scope and returns the type of the records it returns.
 
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
 

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 node
scope - Scope
enclosingNode - Enclosing parse tree node
Method Detail

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()