| Package | Description |
|---|---|
| org.apache.calcite.sql2rel |
Translates a SQL parse tree to relational expression.
|
| Modifier and Type | Field and Description |
|---|---|
(package private) SqlToRelConverter.Blackboard |
SqlToRelConverter.DeferredLookup.bb |
private SqlToRelConverter.Blackboard |
SqlToRelConverter.AggConverter.bb |
| Modifier and Type | Method and Description |
|---|---|
protected SqlToRelConverter.Blackboard |
SqlToRelConverter.createBlackboard(SqlValidatorScope scope,
Map<String,RexNode> nameToNodeMap,
boolean top)
Factory method for creating translation workspace.
|
private SqlToRelConverter.Blackboard |
SqlToRelConverter.createInsertBlackboard(RelOptTable targetTable,
RexNode sourceRef,
List<String> targetColumnNames)
Creates a blackboard for translating the expressions of generated columns
in an INSERT statement.
|
| Modifier and Type | Method and Description |
|---|---|
protected RexNode |
SqlToRelConverter.adjustInputRef(SqlToRelConverter.Blackboard bb,
RexInputRef inputRef)
Adjusts the type of a reference to an input field to account for nulls
introduced by outer joins; and adjusts the offset to match the physical
implementation.
|
protected void |
SqlToRelConverter.afterTableFunction(SqlToRelConverter.Blackboard bb,
SqlCall call,
LogicalTableFunctionScan callRel) |
protected void |
SqlToRelConverter.convertAgg(SqlToRelConverter.Blackboard bb,
SqlSelect select,
List<SqlNode> orderExprList)
Converts the SELECT, GROUP BY and HAVING clauses of an aggregate query.
|
protected void |
SqlToRelConverter.convertCollectionTable(SqlToRelConverter.Blackboard bb,
SqlCall call) |
private RelNode |
SqlToRelConverter.convertCursor(SqlToRelConverter.Blackboard bb,
SqlToRelConverter.SubQuery subQuery) |
protected RexNode |
SqlToRelConverter.convertExtendedExpression(SqlNode node,
SqlToRelConverter.Blackboard bb)
Converts a non-standard expression.
|
protected void |
SqlToRelConverter.convertFrom(SqlToRelConverter.Blackboard bb,
SqlNode from)
Converts a FROM clause into a relational expression.
|
private RexNode |
SqlToRelConverter.convertIdentifier(SqlToRelConverter.Blackboard bb,
SqlIdentifier identifier)
Converts an identifier into an expression in a given scope.
|
private void |
SqlToRelConverter.convertIdentifier(SqlToRelConverter.Blackboard bb,
SqlIdentifier id,
SqlNodeList extendedColumns) |
private RexNode |
SqlToRelConverter.convertInToOr(SqlToRelConverter.Blackboard bb,
List<RexNode> leftKeys,
SqlNodeList valuesList,
SqlInOperator op)
Converts "x IN (1, 2, ...)" to "x=1 OR x=2 OR ...".
|
private RexNode |
SqlToRelConverter.convertJoinCondition(SqlToRelConverter.Blackboard bb,
SqlValidatorNamespace leftNamespace,
SqlValidatorNamespace rightNamespace,
SqlNode condition,
JoinConditionType conditionType,
RelNode leftRel,
RelNode rightRel) |
private RexLiteral |
SqlToRelConverter.convertLiteralInValuesList(SqlNode sqlNode,
SqlToRelConverter.Blackboard bb,
RelDataType rowType,
int iField) |
protected void |
SqlToRelConverter.convertMatchRecognize(SqlToRelConverter.Blackboard bb,
SqlCall call) |
private RelNode |
SqlToRelConverter.convertMultisets(List<SqlNode> operands,
SqlToRelConverter.Blackboard bb) |
private boolean |
SqlToRelConverter.convertNonCorrelatedSubQuery(SqlToRelConverter.SubQuery subQuery,
SqlToRelConverter.Blackboard bb,
RelNode converted,
boolean isExists)
Determines if a sub-query is non-correlated and if so, converts it to a
constant.
|
protected void |
SqlToRelConverter.convertOrder(SqlSelect select,
SqlToRelConverter.Blackboard bb,
RelCollation collation,
List<SqlNode> orderExprList,
SqlNode offset,
SqlNode fetch)
Converts a query's ORDER BY clause, if any.
|
private RexNode |
SqlToRelConverter.convertOver(SqlToRelConverter.Blackboard bb,
SqlNode node) |
private RelNode |
SqlToRelConverter.convertQueryOrInList(SqlToRelConverter.Blackboard bb,
SqlNode seek,
RelDataType targetRowType) |
private RelNode |
SqlToRelConverter.convertRowConstructor(SqlToRelConverter.Blackboard bb,
SqlCall rowConstructor)
Converts a row constructor into a relational expression.
|
private RelNode |
SqlToRelConverter.convertRowValues(SqlToRelConverter.Blackboard bb,
SqlNode rowList,
Collection<SqlNode> rows,
boolean allowLiteralsOnly,
RelDataType targetRowType) |
protected void |
SqlToRelConverter.convertSelectImpl(SqlToRelConverter.Blackboard bb,
SqlSelect select)
Implementation of
SqlToRelConverter.convertSelect(SqlSelect, boolean);
derived class may override. |
private void |
SqlToRelConverter.convertSelectList(SqlToRelConverter.Blackboard bb,
SqlSelect select,
List<SqlNode> orderList) |
private void |
SqlToRelConverter.convertValuesImpl(SqlToRelConverter.Blackboard bb,
SqlCall values,
RelDataType targetRowType)
Converts a values clause (as in "INSERT INTO T(x,y) VALUES (1,2)") into a
relational expression.
|
private void |
SqlToRelConverter.convertWhere(SqlToRelConverter.Blackboard bb,
SqlNode where)
Converts a WHERE clause.
|
protected void |
SqlToRelConverter.createAggImpl(SqlToRelConverter.Blackboard bb,
SqlToRelConverter.AggConverter aggConverter,
SqlNodeList selectList,
SqlNodeList groupList,
SqlNode having,
List<SqlNode> orderExprList) |
protected RelNode |
SqlToRelConverter.createAggregate(SqlToRelConverter.Blackboard bb,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates an Aggregate.
|
protected RelNode |
SqlToRelConverter.createJoin(SqlToRelConverter.Blackboard bb,
RelNode leftRel,
RelNode rightRel,
RexNode joinCond,
JoinRelType joinType) |
private void |
SqlToRelConverter.distinctify(SqlToRelConverter.Blackboard bb,
boolean checkForDupExprs)
Having translated 'SELECT ...
|
protected void |
SqlToRelConverter.extraSelectItems(SqlToRelConverter.Blackboard bb,
SqlSelect select,
List<RexNode> exprList,
List<String> nameList,
Collection<String> aliasList,
List<SqlMonotonicity> columnMonotonicityList)
Adds extra select items.
|
private void |
SqlToRelConverter.findSubQueries(SqlToRelConverter.Blackboard bb,
SqlNode node,
RelOptUtil.Logic logic,
boolean registerOnlyScalarSubQueries)
Builds a list of all
IN or EXISTS operators
inside SQL parse tree. |
protected void |
SqlToRelConverter.gatherOrderExprs(SqlToRelConverter.Blackboard bb,
SqlSelect select,
SqlNodeList orderList,
List<SqlNode> extraOrderExprs,
List<RelFieldCollation> collationList)
Creates a list of collations required to implement the ORDER BY clause,
if there is one.
|
private SqlToRelConverter.CorrelationUse |
SqlToRelConverter.getCorrelationUse(SqlToRelConverter.Blackboard bb,
RelNode r0) |
private boolean |
SqlToRelConverter.isSubQueryNonCorrelated(RelNode subq,
SqlToRelConverter.Blackboard bb)
Determines whether a sub-query is non-correlated.
|
private void |
SqlToRelConverter.replaceSubQueries(SqlToRelConverter.Blackboard bb,
SqlNode expr,
RelOptUtil.Logic logic) |
private void |
SqlToRelConverter.substituteSubQuery(SqlToRelConverter.Blackboard bb,
SqlToRelConverter.SubQuery subQuery) |
| Constructor and Description |
|---|
AggConverter(SqlToRelConverter.Blackboard bb,
SqlSelect select)
Creates an AggConverter.
|
DeferredLookup(SqlToRelConverter.Blackboard bb,
String originalRelName) |
LookupContext(SqlToRelConverter.Blackboard bb,
List<RelNode> rels,
int systemFieldCount)
Creates a LookupContext with multiple input relational expressions.
|
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.