|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.sql.validate.EmptyScope
class EmptyScope
Deviant implementation of SqlValidatorScope
for the top of the scope
stack.
It is convenient, because we never need to check whether a scope's parent is null. (This scope knows not to ask about its parents, just like Adam.)
Field Summary | |
---|---|
protected SqlValidatorImpl |
validator
|
Constructor Summary | |
---|---|
EmptyScope(SqlValidatorImpl validator)
|
Method Summary | |
---|---|
void |
addChild(SqlValidatorNamespace ns,
String alias)
Registers a relation in this scope. |
void |
findAliases(List<SqlMoniker> result)
Collects the SqlMoniker s of all table aliases (uses of tables in
query FROM clauses) available in this scope. |
void |
findAllColumnNames(List<SqlMoniker> result)
Collects the SqlMoniker s of all possible columns in this scope. |
void |
findAllTableNames(List<SqlMoniker> result)
|
String |
findQualifyingTableName(String columnName,
SqlNode ctx)
Finds the table alias which is implicitly qualifying an unqualified column name. |
SqlIdentifier |
fullyQualify(SqlIdentifier identifier)
Converts an identifier into a fully-qualified identifier. |
SqlMonotonicity |
getMonotonicity(SqlNode expr)
Returns whether an expression is monotonic in this scope. |
SqlNode |
getNode()
Returns the root node of this scope. |
SqlValidatorScope |
getOperandScope(SqlCall call)
Returns the scope within which operands to a call are to be validated. |
SqlNodeList |
getOrderList()
Returns the expressions by which the rows in this scope are sorted. |
SqlValidator |
getValidator()
Returns the validator which created this scope. |
SqlWindow |
lookupWindow(String name)
Finds a window with a given name. |
SqlValidatorNamespace |
resolve(String name,
SqlValidatorScope[] ancestorOut,
int[] offsetOut)
Looks up a node with a given name. |
RelDataType |
resolveColumn(String name,
SqlNode ctx)
Resolves a single identifier to a column, and returns the datatype of that column. |
void |
validateExpr(SqlNode expr)
Performs any scope-specific validation of an expression. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final SqlValidatorImpl validator
Constructor Detail |
---|
EmptyScope(SqlValidatorImpl validator)
Method Detail |
---|
public SqlValidator getValidator()
SqlValidatorScope
getValidator
in interface SqlValidatorScope
public SqlIdentifier fullyQualify(SqlIdentifier identifier)
SqlValidatorScope
fullyQualify
in interface SqlValidatorScope
public SqlNode getNode()
SqlValidatorScope
getNode
in interface SqlValidatorScope
public SqlValidatorNamespace resolve(String name, SqlValidatorScope[] ancestorOut, int[] offsetOut)
SqlValidatorScope
resolve
in interface SqlValidatorScope
name
- Name of node to findancestorOut
- If not null, writes the ancestor scope hereoffsetOut
- If not null, writes the offset within the ancestor herepublic void findAllColumnNames(List<SqlMoniker> result)
SqlValidatorScope
SqlMoniker
s of all possible columns in this scope.
findAllColumnNames
in interface SqlValidatorScope
result
- an array list of strings to add the result topublic void findAllTableNames(List<SqlMoniker> result)
public void findAliases(List<SqlMoniker> result)
SqlValidatorScope
SqlMoniker
s of all table aliases (uses of tables in
query FROM clauses) available in this scope.
findAliases
in interface SqlValidatorScope
result
- a list of monikers to add the result topublic RelDataType resolveColumn(String name, SqlNode ctx)
SqlValidatorScope
If it cannot find the column, returns null. If the column is
ambiguous, throws an error with context ctx
.
resolveColumn
in interface SqlValidatorScope
name
- Name of columnctx
- Context for exception
public SqlValidatorScope getOperandScope(SqlCall call)
SqlValidatorScope
getOperandScope
in interface SqlValidatorScope
call
- Call
public void validateExpr(SqlNode expr)
SqlValidatorScope
validateExpr
in interface SqlValidatorScope
public String findQualifyingTableName(String columnName, SqlNode ctx)
SqlValidatorScope
This method is only implemented in scopes (such as SelectScope
) which can be the context for
name-resolution. In scopes such as IdentifierNamespace
, it throws UnsupportedOperationException
.
findQualifyingTableName
in interface SqlValidatorScope
columnName
- Column namectx
- Validation context, to appear in any error thrown
public void addChild(SqlValidatorNamespace ns, String alias)
SqlValidatorScope
addChild
in interface SqlValidatorScope
ns
- Namespace representing the result-columns of the relationalias
- Alias with which to reference the relation, must not be nullpublic SqlWindow lookupWindow(String name)
SqlValidatorScope
lookupWindow
in interface SqlValidatorScope
public SqlMonotonicity getMonotonicity(SqlNode expr)
SqlValidatorScope
getMonotonicity
in interface SqlValidatorScope
public SqlNodeList getOrderList()
SqlValidatorScope
getOrderList
in interface SqlValidatorScope
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |