public abstract class DelegatingNamespace extends Object implements SqlValidatorNamespace
SqlValidatorNamespace that delegates all methods
to an underlying object.| Modifier and Type | Field and Description |
|---|---|
protected SqlValidatorNamespace |
namespace |
| Modifier | Constructor and Description |
|---|---|
protected |
DelegatingNamespace(SqlValidatorNamespace namespace)
Creates a DelegatingNamespace.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
fieldExists(String name)
Returns whether this namespace has a field of a given name.
|
SqlNode |
getEnclosingNode()
Returns the parse tree node that at is at the root of this namespace and
includes all decorations.
|
List<Pair<SqlNode,SqlMonotonicity>> |
getMonotonicExprs()
Returns a list of expressions which are monotonic in this namespace.
|
SqlMonotonicity |
getMonotonicity(String columnName)
Returns whether and how a given column is sorted.
|
SqlNode |
getNode()
Returns the parse tree node at the root of this namespace.
|
RelDataType |
getRowType()
Returns the row type of this namespace, which comprises a list of names
and types of the output columns.
|
RelDataType |
getRowTypeSansSystemColumns()
Returns the row type of this namespace, sans any system columns.
|
SqlValidatorTable |
getTable()
Returns the underlying table, or null if there is none.
|
RelDataType |
getType()
Returns the type of this namespace.
|
SqlValidator |
getValidator()
Returns the validator.
|
boolean |
isWrapperFor(Class<?> clazz)
Returns whether this namespace implements a given interface, or wraps a
class which does.
|
SqlValidatorNamespace |
lookupChild(String name)
Looks up a child namespace of a given name.
|
void |
makeNullable()
Makes all fields in this namespace nullable (typically because it is on
the outer side of an outer join.
|
void |
setType(RelDataType type)
Sets the type of this namespace.
|
String |
translate(String name)
Translates a field name to the name in the underlying namespace.
|
<T> T |
unwrap(Class<T> clazz)
Returns this namespace, or a wrapped namespace, cast to a particular
class.
|
void |
validate()
Validates this namespace.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitresolve, supportsModalityprotected final SqlValidatorNamespace namespace
protected DelegatingNamespace(SqlValidatorNamespace namespace)
namespace - Underlying namespace, to delegate topublic SqlValidator getValidator()
SqlValidatorNamespacegetValidator in interface SqlValidatorNamespacepublic SqlValidatorTable getTable()
SqlValidatorNamespacegetTable in interface SqlValidatorNamespacepublic RelDataType getRowType()
SqlValidatorNamespacegetRowType in interface SqlValidatorNamespacepublic void setType(RelDataType type)
SqlValidatorNamespaceAllows the type for the namespace to be explicitly set, but usually is
called during SqlValidatorNamespace.validate().
Implicitly also sets the row type. If the type is not a struct, then the row type is the type wrapped as a struct with a single column, otherwise the type and row type are the same.
setType in interface SqlValidatorNamespacepublic RelDataType getRowTypeSansSystemColumns()
SqlValidatorNamespacegetRowTypeSansSystemColumns in interface SqlValidatorNamespacepublic RelDataType getType()
SqlValidatorNamespacegetType in interface SqlValidatorNamespacepublic void validate()
SqlValidatorNamespaceIf the scope has already been validated, does nothing.
Please call SqlValidatorImpl.validateNamespace(org.apache.calcite.sql.validate.SqlValidatorNamespace) rather than
calling this method directly.
validate in interface SqlValidatorNamespacepublic SqlNode getNode()
SqlValidatorNamespacegetNode in interface SqlValidatorNamespaceTableNamespacepublic SqlNode getEnclosingNode()
SqlValidatorNamespaceSqlValidatorNamespace.getNode().getEnclosingNode in interface SqlValidatorNamespacepublic SqlValidatorNamespace lookupChild(String name)
SqlValidatorNamespaceFor example, in the query select e.name from emps as e,
e is an IdentifierNamespace which has a child
name which is a FieldNamespace.
lookupChild in interface SqlValidatorNamespacename - Name of namespacepublic boolean fieldExists(String name)
SqlValidatorNamespacefieldExists in interface SqlValidatorNamespacename - Field namepublic List<Pair<SqlNode,SqlMonotonicity>> getMonotonicExprs()
SqlValidatorNamespaceSqlIdentifier called "TIMESTAMP".getMonotonicExprs in interface SqlValidatorNamespacepublic SqlMonotonicity getMonotonicity(String columnName)
SqlValidatorNamespacegetMonotonicity in interface SqlValidatorNamespacepublic void makeNullable()
SqlValidatorNamespacemakeNullable in interface SqlValidatorNamespacepublic String translate(String name)
SqlValidatorNamespacetranslate in interface SqlValidatorNamespacepublic <T> T unwrap(Class<T> clazz)
SqlValidatorNamespaceunwrap in interface SqlValidatorNamespaceclazz - Desired typepublic boolean isWrapperFor(Class<?> clazz)
SqlValidatorNamespaceisWrapperFor in interface SqlValidatorNamespaceclazz - InterfaceCopyright © 2012–2015 The Apache Software Foundation. All rights reserved.