select = subSelect(); } else { select = asSelect(); clauseList.addAll(this.clauses);
select = subSelect(); } else { select = asSelect(); clauseList.addAll(this.clauses);
/** Converts a non-query node into a SELECT node. Set operators (UNION, * INTERSECT, EXCEPT) and DML operators (INSERT, UPDATE, DELETE, MERGE) * remain as is. */ public SqlNode asStatement() { switch (node.getKind()) { case UNION: case INTERSECT: case EXCEPT: case INSERT: case UPDATE: case DELETE: case MERGE: return node; default: return asSelect(); } }
/** Converts a non-query node into a SELECT node. Set operators (UNION, * INTERSECT, EXCEPT) and DML operators (INSERT, UPDATE, DELETE, MERGE) * remain as is. */ public SqlNode asStatement() { switch (node.getKind()) { case UNION: case INTERSECT: case EXCEPT: case INSERT: case UPDATE: case DELETE: case MERGE: return node; default: return asSelect(); } }
public Result setOpToSql(SqlSetOperator operator, RelNode rel) { SqlNode node = null; for (Ord<RelNode> input : Ord.zip(rel.getInputs())) { final Result result = visitChild(input.i, input.e); if (node == null) { node = result.asSelect(); } else { node = operator.createCall(POS, node, result.asSelect()); } } final List<Clause> clauses = Expressions.list(Clause.SET_OP); return result(node, clauses, rel, null); }
/** * Converts a RelBuilder into a sql string. * * @param sqlWriter The writer to be used when translating the {@link org.apache.calcite.rel.RelNode} to sql. * @param relToSql The converter from {@link org.apache.calcite.rel.RelNode} to * {@link org.apache.calcite.sql.SqlNode}. * @param query The RelNode representing the query. * * @return the sql string built by the RelBuilder. */ protected String writeSql(SqlPrettyWriter sqlWriter, RelToSqlConverter relToSql, RelNode query) { sqlWriter.reset(); SqlSelect select = relToSql.visitChild(0, query).asSelect(); return sqlWriter.format(select); }
/** Converts a non-query node into a SELECT node. Set operators (UNION, * INTERSECT, EXCEPT) and VALUES remain as is. */ public SqlNode asQueryOrValues() { switch (node.getKind()) { case UNION: case INTERSECT: case EXCEPT: case VALUES: return node; default: return asSelect(); } }
/** Converts a non-query node into a SELECT node. Set operators (UNION, * INTERSECT, EXCEPT) and VALUES remain as is. */ public SqlNode asQueryOrValues() { switch (node.getKind()) { case UNION: case INTERSECT: case EXCEPT: case VALUES: return node; default: return asSelect(); } }
public Result setOpToSql(SqlSetOperator operator, RelNode rel) { SqlNode node = null; for (Ord<RelNode> input : Ord.zip(rel.getInputs())) { final Result result = visitChild(input.i, input.e); if (node == null) { node = result.asSelect(); } else { node = operator.createCall(POS, node, result.asSelect()); } } final List<Clause> clauses = Expressions.list(Clause.SET_OP); return result(node, clauses, rel, null); }