private void gatherSelects(QueryExpression qe, List<Select> allQueries) { if (qe instanceof Select) { allQueries.add((Select)qe); return; } SetQuery sq = (SetQuery)qe; gatherSelects(sq.getLeftQuery(), allQueries); gatherSelects(sq.getRightQuery(), allQueries); } }
appendSetQuery(obj, obj.getRightQuery(), true);
private void setProjected(QueryExpression qe) { if (qe instanceof Select) { Select select = (Select)qe; for (DerivedColumn dc : select.getDerivedColumns()) { dc.setProjected(true); } } else { org.teiid.language.SetQuery sq = (org.teiid.language.SetQuery)qe; setProjected(sq.getLeftQuery()); setProjected(sq.getRightQuery()); } }
private void setProjected(QueryExpression qe) { if (qe instanceof Select) { Select select = (Select)qe; for (DerivedColumn dc : select.getDerivedColumns()) { dc.setProjected(true); } } else { org.teiid.language.SetQuery sq = (org.teiid.language.SetQuery)qe; setProjected(sq.getLeftQuery()); setProjected(sq.getRightQuery()); } }
private void setProjected(QueryExpression qe) { if (qe instanceof Select) { Select select = (Select)qe; for (DerivedColumn dc : select.getDerivedColumns()) { dc.setProjected(true); } } else { org.teiid.language.SetQuery sq = (org.teiid.language.SetQuery)qe; setProjected(sq.getLeftQuery()); setProjected(sq.getRightQuery()); } }
public void visit(SetQuery obj) { if (obj.getWith() != null) { append(obj.getWith()); } appendSetQuery(obj, obj.getLeftQuery(), false); buffer.append(Tokens.SPACE); appendSetOperation(obj.getOperation()); if(obj.isAll()) { buffer.append(Tokens.SPACE); buffer.append(ALL); } buffer.append(Tokens.SPACE); appendSetQuery(obj, obj.getRightQuery(), true); OrderBy orderBy = obj.getOrderBy(); if(orderBy != null) { buffer.append(Tokens.SPACE); append(orderBy); } Limit limit = obj.getLimit(); if(limit != null) { buffer.append(Tokens.SPACE); append(limit); } }
public void visit(SetQuery obj) { visitNode(obj.getWith()); if (visitSubcommands) { visitNode(obj.getLeftQuery()); visitNode(obj.getRightQuery()); } visitNode(obj.getOrderBy()); visitNode(obj.getLimit()); }
@Override public void visit(SetQuery obj) { for (int i = 0; i < obj.getColumnNames().length; i++) { DerivedColumn leftDerivedColumn = obj.getLeftQuery().getProjectedQuery().getDerivedColumns().get(i); boolean left_i18n = OracleExecutionFactory.this.isNonAscii(leftDerivedColumn.getExpression()); DerivedColumn rightDerivedColumn = obj.getRightQuery().getProjectedQuery().getDerivedColumns().get(i); boolean right_i18n = OracleExecutionFactory.this.isNonAscii(rightDerivedColumn.getExpression()); if (left_i18n ^ right_i18n) { if (!left_i18n) { leftDerivedColumn.setExpression(toNChar(leftDerivedColumn.getExpression())); } else if (!right_i18n) { rightDerivedColumn.setExpression(toNChar(rightDerivedColumn.getExpression())); } } } super.visit(obj); }
List<DerivedColumn> derivedColumnsRecurse = ((SetQuery)withItem.getSubquery()).getRightQuery().getProjectedQuery().getDerivedColumns(); for (int i = 0; i < derivedColumns.size(); i++) { String nativeType = null;
public void testNestedSetQuery() throws Exception { org.teiid.query.sql.lang.SetQuery query = new org.teiid.query.sql.lang.SetQuery(org.teiid.query.sql.lang.SetQuery.Operation.EXCEPT, true, helpExampleSetQuery(), helpExampleSetQuery()); SetQuery setQuery = TstLanguageBridgeFactory.factory.translate(query); assertTrue(setQuery.getLeftQuery() instanceof SetQuery); assertTrue(setQuery.getRightQuery() instanceof SetQuery); }