@Override public void visit(GroupBy obj) { this.groupByClause.append("GROUP BY "); //$NON-NLS-1$ for (Iterator<Expression> iter = obj.getElements().iterator(); iter.hasNext();) { Expression expr = iter.next(); this.groupByClause.append(getValue(expr, false)); if (iter.hasNext()) { this.groupByClause.append(", "); //$NON-NLS-1$ } } this.groupByClause.append(SPACE); }
public void visit(GroupBy obj) { visitNodes(obj.getElements()); }
public void visit(GroupBy obj) { buffer.append(GROUP) .append(Tokens.SPACE) .append(BY) .append(Tokens.SPACE); if (obj.isRollup()) { buffer.append(ROLLUP); buffer.append(Tokens.LPAREN); } append(obj.getElements()); if (obj.isRollup()) { buffer.append(Tokens.RPAREN); } }
if (obj.getElements().size() == 1) { append(obj.getElements().get(0)); Object mongoExpr = this.onGoingExpression.pop(); ColumnDetail exprDetails = this.expressionMap.get(mongoExpr); BasicDBObject fields = new BasicDBObject(); BasicDBObject exprs = new BasicDBObject(); for (Expression expr : obj.getElements()) { append(expr); Object mongoExpr = this.onGoingExpression.pop();
public void testGetElements() throws Exception { GroupBy gb = example(); assertNotNull(gb.getElements()); assertEquals(4, gb.getElements().size()); for (Iterator i = gb.getElements().iterator(); i.hasNext();) { assertTrue(i.next() instanceof ColumnReference); } }
@Override public List<?> translateCommand(Command command, ExecutionContext context) { if (!supportsLiteralOnlyWithGrouping() && (command instanceof Select)) { Select select = (Select)command; if (select.getGroupBy() != null && select.getDerivedColumns().size() == 1) { DerivedColumn dc = select.getDerivedColumns().get(0); if (dc.getExpression() instanceof Literal) { dc.setExpression(select.getGroupBy().getElements().get(0)); } } } return super.translateCommand(command, context); }