private static void _addVarExpr(VarExprList varExprList, Var v, Expr expr) { if ( varExprList.contains(v) ) // SELECT ?x (?a+?b AS ?x) // SELECT (2*?a AS ?x) (?a+?b AS ?x) throw new QueryBuildException("Duplicate variable in result projection '"+v+"'") ; varExprList.add(v, expr) ; }
private static void _addVarExpr(VarExprList varExprList, Var v, Expr expr) { if ( varExprList.contains(v) ) // SELECT ?x (?a+?b AS ?x) // SELECT (2*?a AS ?x) (?a+?b AS ?x) throw new QueryBuildException("Duplicate variable in result projection '"+v+"'") ; varExprList.add(v, expr) ; }
static public Op assign(Op op, Var var, Expr expr) { if ( ! ( op instanceof OpAssign ) ) return createAssign(op, var, expr) ; OpAssign opAssign = (OpAssign)op ; if ( opAssign.assignments.contains(var) ) return createAssign(op, var, expr) ; opAssign.assignments.add(var, expr) ; return opAssign ; }
static public Op extend(Op op, Var var, Expr expr) { if ( !(op instanceof OpExtend) ) return createExtend(op, var, expr) ; OpExtend opExtend = (OpExtend)op ; if ( opExtend.assignments.contains(var) ) return createExtend(op, var, expr) ; opExtend.assignments.add(var, expr) ; return opExtend ; }
static public Op assign(Op op, Var var, Expr expr) { if ( !(op instanceof OpAssign) ) return createAssign(op, var, expr) ; OpAssign opAssign = (OpAssign)op ; if ( opAssign.assignments.contains(var) ) // Same variable : // Layer one assignment over the top of another return createAssign(op, var, expr) ; opAssign.add(var, expr) ; return opAssign ; }
static public Op extend(Op op, Var var, Expr expr) { if ( ! ( op instanceof OpExtend ) ) return createExtend(op, var, expr) ; OpExtend opAssign = (OpExtend)op ; if ( opAssign.assignments.contains(var) ) return createExtend(op, var, expr) ; opAssign.assignments.add(var, expr) ; return opAssign ; }
private static void _addVar(VarExprList varExprList, Var v) { if ( varExprList.contains(v) ) { Expr expr = varExprList.getExpr(v) ; if ( expr != null ) // SELECT (?a+?b AS ?x) ?x throw new QueryBuildException("Duplicate variable (had an expression) in result projection '"+v+"'") ; // SELECT ?x ?x if ( ! ARQ.allowDuplicateSelectColumns ) return ; // else drop thorugh and have two variables of the same name. } varExprList.add(v) ; }
private static void _addVar(VarExprList varExprList, Var v) { if ( varExprList.contains(v) ) { Expr expr = varExprList.getExpr(v) ; if ( expr != null ) // SELECT (?a+?b AS ?x) ?x throw new QueryBuildException("Duplicate variable (had an expression) in result projection '"+v+"'") ; // SELECT ?x ?x if ( ! ARQ.allowDuplicateSelectColumns ) return ; // else drop thorugh and have two variables of the same name. } varExprList.add(v) ; }
static public Op extend(Op op, VarExprList exprs) { if ( !(op instanceof OpExtend) ) return createExtend(op, exprs) ; OpExtend opExtend = (OpExtend)op ; for (Var var : exprs.getVars()) { if ( opExtend.assignments.contains(var) ) return createExtend(op, exprs) ; } opExtend.assignments.addAll(exprs) ; return opExtend ; }
static public Op assign(Op op, VarExprList exprs) { if ( !(op instanceof OpAssign) ) return createAssign(op, exprs) ; OpAssign opAssign = (OpAssign)op ; for (Var var : exprs.getVars()) { if ( opAssign.assignments.contains(var) ) return createAssign(op, exprs) ; } opAssign.assignments.addAll(exprs) ; return opAssign ; }
static public Op assign(Op op, VarExprList exprs) { if ( ! ( op instanceof OpAssign ) ) return createAssign(op, exprs) ; OpAssign opAssign = (OpAssign)op ; for ( Var var : exprs.getVars() ) { if ( opAssign.assignments.contains(var) ) return createAssign(op, exprs) ; } opAssign.assignments.addAll(exprs) ; return opAssign ; }
static public Op extend(Op op, VarExprList exprs) { if ( ! ( op instanceof OpExtend ) ) return createExtend(op, exprs) ; OpExtend opAssign = (OpExtend)op ; for ( Var var : exprs.getVars() ) { if ( opAssign.assignments.contains(var) ) return createExtend(op, exprs) ; } opAssign.assignments.addAll(exprs) ; return opAssign ; }