@Override public void visitHaving(Query query1) { check("HAVING", query1.getHavingExprs(), query2.getHavingExprs()) ; }
@Override public void visitHaving(Query query) { if ( query.hasHaving() ) x ^= query.getHavingExprs().hashCode() ; }
@Override public void visitHaving(Query query) { if (query.hasHaving()) { for (Expr expr : query.getHavingExprs()) newQuery.addHavingCondition(expr); } }
@Override public void visitHaving(Query query) { if ( query.hasHaving() ) { for (Expr expr : query.getHavingExprs()) newQuery.addHavingCondition(expr) ; } }
/** * Copy all the modifications from the Solution Modifier argument * @param solutionModifier The solution modifier to copy from. */ public void addAll(SolutionModifierHandler solutionModifier) { List<SortCondition> lst = solutionModifier.query.getOrderBy(); if (lst != null) { for (SortCondition sc : lst) { query.addOrderBy(sc); } } query.getGroupBy().addAll(solutionModifier.query.getGroupBy()); query.getHavingExprs().addAll(solutionModifier.query.getHavingExprs()); query.setLimit(solutionModifier.query.getLimit()); query.setOffset(solutionModifier.query.getOffset()); }
ElementTransform eltrans = new ElementTransformSubst(substitutions) ; ExprTransform exprTrans = new ExprTransformNodeElement(nodeTransform, eltrans) ; List<Expr> havingExprs = result.getHavingExprs(); for(int i = 0; i < havingExprs.size(); i++) { Expr old = havingExprs.get(i);
ElementTransform eltrans = new ElementTransformSubst(substitutions) ; ExprTransform exprTrans = new ExprTransformNodeElement(nodeTransform, eltrans) ; List<Expr> havingExprs = result.getHavingExprs(); for(int i = 0; i < havingExprs.size(); i++) { Expr old = havingExprs.get(i);
/** * Copy all the modifications from the Solution Modifier argument * @param solutionModifier The solution modifier to copy from. */ public void addAll(SolutionModifierHandler solutionModifier) { List<SortCondition> lst = solutionModifier.query.getOrderBy(); if (lst != null) { for (SortCondition sc : lst) { query.addOrderBy(sc); } } query.getGroupBy().addAll(solutionModifier.query.getGroupBy()); query.getHavingExprs().addAll(solutionModifier.query.getHavingExprs()); query.setLimit(solutionModifier.query.getLimit()); query.setOffset(solutionModifier.query.getOffset()); }
@Override public void setVars(Map<Var, Node> values) { if (values.isEmpty()) { return; } ExprRewriter exprRewriter = new ExprRewriter(values); ExprList having = exprRewriter.rewrite(new ExprList(query .getHavingExprs())); List<SortCondition> orderBy = exprRewriter .rewriteSortConditionList(query.getOrderBy()); VarExprList groupBy = exprRewriter.rewrite(query.getGroupBy()); query.getHavingExprs().clear(); query.getHavingExprs().addAll(having.getList()); if (orderBy != null) { if (query.getOrderBy() == null) { for (SortCondition sc : orderBy) { query.addOrderBy(sc); } } else { query.getOrderBy().clear(); query.getOrderBy().addAll(orderBy); } } query.getGroupBy().clear(); query.getGroupBy().addAll(groupBy); }
@Override public void setVars(Map<Var, Node> values) { if (values.isEmpty()) { return; } ExprRewriter exprRewriter = new ExprRewriter(values); ExprList having = exprRewriter.rewrite(new ExprList(query .getHavingExprs())); List<SortCondition> orderBy = exprRewriter .rewriteSortConditionList(query.getOrderBy()); VarExprList groupBy = exprRewriter.rewrite(query.getGroupBy()); query.getHavingExprs().clear(); query.getHavingExprs().addAll(having.getList()); if (orderBy != null) { if (query.getOrderBy() == null) { for (SortCondition sc : orderBy) { query.addOrderBy(sc); } } else { query.getOrderBy().clear(); query.getOrderBy().addAll(orderBy); } } query.getGroupBy().clear(); query.getGroupBy().addAll(groupBy); }
@Override public void visitHaving(Query query) { if ( query.hasHaving() ) { out.print("HAVING") ; for (Expr expr : query.getHavingExprs()) { out.print(" ") ; fmtExpr.format(expr) ; } out.println() ; } }
level.opHaving.getExprs().getList().forEach(expr -> { expr = rewrite(expr, varToExpr) ; query.getHavingExprs().add(expr) ; }) ;
/** Transform a query using {@link ElementTransform} and {@link ExprTransform}. * It is the responsibility of these transforms to transform to a legal SPARQL query. */ public static Query transform(Query query, ElementTransform transform, ExprTransform exprTransform) { Query q2 = QueryTransformOps.shallowCopy(query); // "Shallow copy with transform." transformVarExprList(q2.getProject(), exprTransform); transformVarExprList(q2.getGroupBy(), exprTransform); transformExprList(q2.getHavingExprs(), exprTransform); if (q2.getOrderBy() != null) { transformSortConditions(q2.getOrderBy(), exprTransform); } // ?? DOES NOT WORK: transformExprListAgg(q2.getAggregators(), exprTransform) ; ?? // if ( q2.hasHaving() ) {} // if ( q2.hasAggregators() ) {} Element el = q2.getQueryPattern(); Element el2 = ElementTransformer.transform(el, transform, exprTransform); // Top level is always a group. if (!(el2 instanceof ElementGroup)) { ElementGroup eg = new ElementGroup(); eg.addElement(el2); el2 = eg; } q2.setQueryPattern(el2); return q2; }
for (Expr expr : query.getHavingExprs())
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;