public boolean hasGroupBy() { return ! groupVars.isEmpty() || getAggregators().size() > 0 ; } public boolean hasHaving() { return havingExprs != null && havingExprs.size() > 0 ; }
@Override public Op transform(OpExtend opExtend, Op subOp) { VarExprList varExprList2 = transformVarExprList(opExtend.getVarExprList()); if ( varExprList2.isEmpty() ) return subOp; return OpExtend.create(subOp, varExprList2); }
@Override public Op transform(OpAssign opAssign, Op subOp) { VarExprList varExprList2 = transformVarExprList(opAssign.getVarExprList()); if ( varExprList2.isEmpty() ) return subOp; return OpAssign.assign(subOp, varExprList2); }
@Override public void visitGroupBy(Query query) { if ( query.hasGroupBy() ) { // Can have an empty GROUP BY list if the groupin gis implicit // by use of an aggregate in the SELECT clause. if ( ! query.getGroupBy().isEmpty() ) { out.print("GROUP BY ") ; appendNamedExprList(query, out, query.getGroupBy()) ; out.println(); } } }
/** * * * @param ms * @param expr * @return */ public static MappingUnion groupBy(Mapping m, VarExprList groupVars, List<ExprAggregator> aggregators, SqlTranslator sqlTranslator, TypeSystem typeSystem, ExprDatatypeNorm exprNormalizer) { MappingUnion result; if(groupVars.isEmpty()) { Generator generator = Gensym.create("X"); Mapping mapping = applyAggregators(m, aggregators, generator, typeSystem, sqlTranslator); result = new MappingUnion(); result.add(mapping); } else { //public static MappingUnion groupBy(Mapping m, VarExprList groupVars, List<ExprAggregator> aggregators, SqlTranslator sqlTranslator, TypeSystem typeSystem, ExprDatatypeNorm exprNormalizer) { result = groupByWithExprs(m, groupVars, aggregators, sqlTranslator, typeSystem, exprNormalizer); } return result; }
if(!veList.isEmpty()) { b = OpExtend.extend(b, veList);
boolean hasGroupBy = ! groupVarExpr.isEmpty(); boolean noInput = ! iter.hasNext();
public static long countQuery(Query query, QueryExecutionFactory qef) { boolean needsWrapping = !query.getGroupBy().isEmpty() || !query.getAggregators().isEmpty();
if (sh != null) if (! sh.getProject().isEmpty()) { q.setQuerySelectType();
if ( ! projectVars.isEmpty() && ! query.isQueryResultStar())
if (sh != null) if (! sh.getProject().isEmpty()) { q.setQuerySelectType();
if(ag==null || !query.getHavingExprs().isEmpty() || !query.getGroupBy().isEmpty() || query.hasLimit() || query.hasOffset() || !( (ag instanceof AggCount) || (ag instanceof AggCountVar) || (ag instanceof AggCountDistinct) || (ag instanceof AggCountVarDistinct)) ) { return null;