public abstract class SqlImplementor extends Object
| Modifier and Type | Class and Description |
|---|---|
class |
SqlImplementor.AliasContext
Implementation of Context that precedes field references with their
"table alias" based on the current sub-query's FROM clause.
|
class |
SqlImplementor.Builder
Builder.
|
static class |
SqlImplementor.Clause
Clauses in a SQL query.
|
class |
SqlImplementor.Context
|
(package private) class |
SqlImplementor.JoinContext
|
class |
SqlImplementor.MatchRecognizeContext
Context for translating MATCH_RECOGNIZE clause
|
class |
SqlImplementor.Result
Result of implementing a node.
|
| Modifier and Type | Field and Description |
|---|---|
protected Set<String> |
aliasSet |
protected Map<CorrelationId,SqlImplementor.Context> |
correlTableMap |
SqlDialect |
dialect |
protected Map<String,SqlNode> |
ordinalMap |
static SqlParserPos |
POS |
| Modifier | Constructor and Description |
|---|---|
protected |
SqlImplementor(SqlDialect dialect) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSelect(List<SqlNode> selectList,
SqlNode node,
RelDataType rowType) |
SqlImplementor.Context |
aliasContext(Map<String,RelDataType> aliases,
boolean qualified) |
private void |
collectAliases(com.google.common.collect.ImmutableMap.Builder<String,RelDataType> builder,
SqlNode node,
Iterator<RelDataType> aliases) |
private static int |
computeFieldCount(Map<String,RelDataType> aliases) |
static SqlNode |
convertConditionToSqlNode(RexNode node,
SqlImplementor.Context leftContext,
SqlImplementor.Context rightContext,
int leftFieldCount)
|
static boolean |
isStar(List<RexNode> exps,
RelDataType inputRowType,
RelDataType projectRowType)
Returns whether a list of expressions projects all fields, in order,
from the input, with the same names.
|
static boolean |
isStar(RexProgram program) |
SqlImplementor.Context |
joinContext(SqlImplementor.Context leftContext,
SqlImplementor.Context rightContext) |
static JoinType |
joinType(JoinRelType joinType) |
SqlImplementor.Context |
matchRecognizeContext(SqlImplementor.Context context) |
SqlImplementor.Result |
result(SqlNode node,
Collection<SqlImplementor.Clause> clauses,
RelNode rel,
Map<String,RelDataType> aliases)
Creates a result based on a single relational expression.
|
SqlImplementor.Result |
result(SqlNode join,
SqlImplementor.Result leftResult,
SqlImplementor.Result rightResult)
Creates a result based on a join.
|
private static SqlOperator |
reverseOperatorDirection(SqlOperator op) |
SqlImplementor.Result |
setOpToSql(SqlSetOperator operator,
RelNode rel) |
private static RexNode |
stripCastFromString(RexNode node)
Removes cast from string.
|
abstract SqlImplementor.Result |
visitChild(int i,
RelNode e) |
(package private) SqlSelect |
wrapSelect(SqlNode node)
Wraps a node in a SELECT statement that has no clauses:
"SELECT ...
|
public static final SqlParserPos POS
public final SqlDialect dialect
protected final Map<CorrelationId,SqlImplementor.Context> correlTableMap
protected SqlImplementor(SqlDialect dialect)
public abstract SqlImplementor.Result visitChild(int i, RelNode e)
public void addSelect(List<SqlNode> selectList, SqlNode node, RelDataType rowType)
public static boolean isStar(List<RexNode> exps, RelDataType inputRowType, RelDataType projectRowType)
public static boolean isStar(RexProgram program)
public SqlImplementor.Result setOpToSql(SqlSetOperator operator, RelNode rel)
public static SqlNode convertConditionToSqlNode(RexNode node, SqlImplementor.Context leftContext, SqlImplementor.Context rightContext, int leftFieldCount)
node - Join conditionleftContext - Left contextrightContext - Right contextleftFieldCount - Number of fields on left resultprivate static RexNode stripCastFromString(RexNode node)
For example, x > CAST('2015-01-07' AS DATE)
becomes x > '2015-01-07'.
private static SqlOperator reverseOperatorDirection(SqlOperator op)
public static JoinType joinType(JoinRelType joinType)
public SqlImplementor.Result result(SqlNode node, Collection<SqlImplementor.Clause> clauses, RelNode rel, Map<String,RelDataType> aliases)
public SqlImplementor.Result result(SqlNode join, SqlImplementor.Result leftResult, SqlImplementor.Result rightResult)
private void collectAliases(com.google.common.collect.ImmutableMap.Builder<String,RelDataType> builder, SqlNode node, Iterator<RelDataType> aliases)
SqlSelect wrapSelect(SqlNode node)
private static int computeFieldCount(Map<String,RelDataType> aliases)
public SqlImplementor.Context aliasContext(Map<String,RelDataType> aliases, boolean qualified)
public SqlImplementor.Context joinContext(SqlImplementor.Context leftContext, SqlImplementor.Context rightContext)
public SqlImplementor.Context matchRecognizeContext(SqlImplementor.Context context)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.