OrderBy orderBy = queryCommand.getOrderBy(); queryCommand.setLimit(null); queryCommand.setOrderBy(null);
OrderBy orderBy = obj.getOrderBy(); if(orderBy != null) { buffer.append(Tokens.SPACE);
public void testGetOrderBy() throws Exception { assertNotNull(example().getOrderBy()); }
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 List<?> translateCommand(Command command, ExecutionContext context) { if (command instanceof SetQuery) { SetQuery set = (SetQuery)command; if (!set.isAll()) { //distinct is not supported, convert to an inline view and add distinct Select s = new Select(); s.setDistinct(true); s.setDerivedColumns(new ArrayList<DerivedColumn>()); s.setOrderBy(set.getOrderBy()); for (DerivedColumn dc : set.getProjectedQuery().getDerivedColumns()) { Assertion.assertTrue(dc.getAlias() != null); //it's expected that the columns will be aliases ColumnReference cr = new ColumnReference(null, dc.getAlias(), null, dc.getExpression().getType()); s.getDerivedColumns().add(new DerivedColumn(null, cr)); } set.setOrderBy(null); s.setLimit(set.getLimit()); set.setLimit(null); set.setAll(true); s.setFrom(Arrays.asList((TableReference)new DerivedTable(set, "x"))); //$NON-NLS-1$ return Arrays.asList(s); } } return super.translateCommand(command, context); }