@Override public void visitGroupBy(Query query) { if ( query.hasGroupBy() ) x ^= query.getGroupBy().hashCode() ; }
public void visitGroupBy(Query query) { if ( query.hasGroupBy() ) x ^= query.getGroupBy().hashCode() ; }
private void findAndAddNamedVars() { Iterator<Var> varIter = null ; if ( hasGroupBy() ) varIter = groupVars.getVars().iterator() ; else { // Binding variables -- in patterns, not in filters and not in EXISTS LinkedHashSet<Var> queryVars = new LinkedHashSet<Var>() ; PatternVars.vars(queryVars, this.getQueryPattern()) ; if ( this.hasBindings() ) queryVars.addAll(getBindingVariables()) ; varIter = queryVars.iterator() ; } // All query variables, including ones from bNodes in the query. for ( ; varIter.hasNext() ; ) { Object obj = varIter.next() ; //Var var = (Var)iter.next() ; Var var = (Var)obj ; if ( var.isNamedVar() ) addResultVar(var) ; } }
private void findAndAddNamedVars() { Iterator<Var> varIter = null ; if ( hasGroupBy() ) varIter = groupVars.getVars().iterator() ; else { // Binding variables -- in patterns, not in filters and not in EXISTS LinkedHashSet<Var> queryVars = new LinkedHashSet<Var>() ; PatternVars.vars(queryVars, this.getQueryPattern()) ; if ( this.hasValues() ) queryVars.addAll(getValuesVariables()) ; // if ( this.hasValues() ) // queryVars.addAll(getValuesVariables()) ; varIter = queryVars.iterator() ; } // All query variables, including ones from bNodes in the query. for ( ; varIter.hasNext() ; ) { Object obj = varIter.next() ; //Var var = (Var)iter.next() ; Var var = (Var)obj ; if ( var.isNamedVar() ) addResultVar(var) ; } }
private static void checkExprVarUse(Query query) if ( query.hasGroupBy() )
private static void checkExprVarUse(Query query) if ( query.hasGroupBy() )
@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(); } } }
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(); } } }
/** * returns all variables mentioned in a query * @param query * @return */ public static Set<Var> getAllVariables(Query query) { Set<Var> vars= getAllVariables(query.getQueryPattern()); if (query.hasGroupBy() && query.getGroupBy()!=null && query.getGroupBy().getExprs()!=null) { for (Map.Entry<Var, Expr> e: query.getGroupBy().getExprs().entrySet()) { vars.add(e.getKey()); ExprVars.varsMentioned(vars, e.getValue()); } } if (query.hasHaving() && query.getHavingExprs()!=null) { for (Expr e: query.getHavingExprs()) { ExprVars.varsMentioned(vars, e); } } if (query.hasAggregators() && query.getAggregators()!=null) { for (ExprAggregator e: query.getAggregators()) { ExprVars.varsMentioned(vars, e); } } for (String v: query.getResultVars()) { vars.add(Var.alloc(v)); } return vars; }
private static void check(Query query, Collection<Var> vars) { // Check any expressions are assigned to fresh variables. checkExprListAssignment(vars, query.getProject()) ; // Check for SELECT * GROUP BY // Legal in ARQ, not in SPARQL 1.1 if ( ! Syntax.syntaxARQ.equals(query.getSyntax()) ) { if ( query.isQueryResultStar() && query.hasGroupBy() ) throw new QueryParseException("SELECT * not legal with GROUP BY", -1 , -1) ; } // Check any variable in an expression is in scope (if GROUP BY) checkExprVarUse(query) ; // Check GROUP BY AS // ENABLE if ( false && query.hasGroupBy() ) { VarExprList exprList2 = query.getGroupBy() ; checkExprListAssignment(vars, exprList2) ; // CHECK } }
private static void check(Query query, Collection<Var> vars) { // Check any expressions are assigned to fresh variables. checkExprListAssignment(vars, query.getProject()) ; // Check for SELECT * GROUP BY // Legal in ARQ, not in SPARQL 1.1 if ( ! Syntax.syntaxARQ.equals(query.getSyntax()) ) { if ( query.isQueryResultStar() && query.hasGroupBy() ) throw new QueryParseException("SELECT * not legal with GROUP BY", -1 , -1) ; } // Check any variable in an expression is in scope (if GROUP BY) checkExprVarUse(query) ; // Check GROUP BY AS // ENABLE if ( false && query.hasGroupBy() ) { VarExprList exprList2 = query.getGroupBy() ; checkExprListAssignment(vars, exprList2) ; // CHECK } }
if ( query.hasGroupBy() )