Package org.apache.calcite.rel.rel2sql
Class RelToSqlConverter
- java.lang.Object
-
- org.apache.calcite.rel.rel2sql.SqlImplementor
-
- org.apache.calcite.rel.rel2sql.RelToSqlConverter
-
- All Implemented Interfaces:
ReflectiveVisitor
- Direct Known Subclasses:
JdbcImplementor
public class RelToSqlConverter extends SqlImplementor implements ReflectiveVisitor
Utility to convert relational expressions to SQL abstract syntax tree.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
RelToSqlConverter.Frame
Stack frame.-
Nested classes/interfaces inherited from class org.apache.calcite.rel.rel2sql.SqlImplementor
SqlImplementor.AliasContext, SqlImplementor.BaseContext, SqlImplementor.Builder, SqlImplementor.Clause, SqlImplementor.Context, SqlImplementor.JoinContext, SqlImplementor.MatchRecognizeContext, SqlImplementor.Result, SqlImplementor.SimpleContext
-
-
Field Summary
Fields Modifier and Type Field Description private static SqlRowOperator
ANONYMOUS_ROW
Similar toSqlStdOperatorTable.ROW
, but does not print "ROW".private ReflectUtil.MethodDispatcher<SqlImplementor.Result>
dispatcher
private java.util.Deque<RelToSqlConverter.Frame>
stack
-
Fields inherited from class org.apache.calcite.rel.rel2sql.SqlImplementor
aliasSet, correlTableMap, dialect, ordinalMap, POS
-
-
Constructor Summary
Constructors Constructor Description RelToSqlConverter(SqlDialect dialect)
Creates a RelToSqlConverter.
-
Method Summary
-
Methods inherited from class org.apache.calcite.rel.rel2sql.SqlImplementor
aliasContext, convertConditionToSqlNode, isStar, isStar, joinContext, joinType, matchRecognizeContext, result, result, setOpToSql, wrapSelect
-
-
-
-
Field Detail
-
ANONYMOUS_ROW
private static final SqlRowOperator ANONYMOUS_ROW
Similar toSqlStdOperatorTable.ROW
, but does not print "ROW".
-
dispatcher
private final ReflectUtil.MethodDispatcher<SqlImplementor.Result> dispatcher
-
stack
private final java.util.Deque<RelToSqlConverter.Frame> stack
-
-
Constructor Detail
-
RelToSqlConverter
public RelToSqlConverter(SqlDialect dialect)
Creates a RelToSqlConverter.
-
-
Method Detail
-
dispatch
protected SqlImplementor.Result dispatch(RelNode e)
Dispatches a call to thevisit(Xxx e)
method whereXxx
most closely matches the runtime type of the argument.
-
visitChild
public SqlImplementor.Result visitChild(int i, RelNode e)
- Specified by:
visitChild
in classSqlImplementor
-
visit
public SqlImplementor.Result visit(RelNode e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Join e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Filter e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Project e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Aggregate e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(TableScan e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Union e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Intersect e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Minus e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Calc e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Values e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(Sort e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
visit
public SqlImplementor.Result visit(TableModify modify)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
exprList
private SqlNodeList exprList(SqlImplementor.Context context, java.util.List<? extends RexNode> exprs)
-
identifierList
private SqlNodeList identifierList(java.util.List<java.lang.String> names)
Converts a list of names expressions to a list of single-partSqlIdentifier
s.
-
visit
public SqlImplementor.Result visit(Match e)
- See Also:
dispatch(org.apache.calcite.rel.RelNode)
-
addSelect
public void addSelect(java.util.List<SqlNode> selectList, SqlNode node, RelDataType rowType)
- Overrides:
addSelect
in classSqlImplementor
-
parseCorrelTable
private void parseCorrelTable(RelNode relNode, SqlImplementor.Result x)
-
-