@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 org.teiid.language.GroupBy translate(GroupBy groupBy) { if(groupBy == null){ return null; } List items = groupBy.getSymbols(); List<org.teiid.language.Expression> translatedItems = new ArrayList<org.teiid.language.Expression>(); for (Iterator i = items.iterator(); i.hasNext();) { translatedItems.add(translate((Expression)i.next())); } org.teiid.language.GroupBy result = new org.teiid.language.GroupBy(translatedItems); result.setRollup(groupBy.isRollup()); return result; }
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); } }
public GroupBy createGroupBy(List<Expression> items) { return new GroupBy(items); }
public void visit(GroupBy obj) { visitNodes(obj.getElements()); }
public org.teiid.language.GroupBy translate(GroupBy groupBy) { if(groupBy == null){ return null; } List items = groupBy.getSymbols(); List<org.teiid.language.Expression> translatedItems = new ArrayList<org.teiid.language.Expression>(); for (Iterator i = items.iterator(); i.hasNext();) { translatedItems.add(translate((Expression)i.next())); } org.teiid.language.GroupBy result = new org.teiid.language.GroupBy(translatedItems); result.setRollup(groupBy.isRollup()); return result; }
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 org.teiid.language.GroupBy translate(GroupBy groupBy) { if(groupBy == null){ return null; } List items = groupBy.getSymbols(); List<org.teiid.language.Expression> translatedItems = new ArrayList<org.teiid.language.Expression>(); for (Iterator i = items.iterator(); i.hasNext();) { translatedItems.add(translate((Expression)i.next())); } org.teiid.language.GroupBy result = new org.teiid.language.GroupBy(translatedItems); result.setRollup(groupBy.isRollup()); return result; }
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); }