You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/08/26 22:46:43 UTC
[1/6] jena git commit: Comments and reformatting.
Repository: jena
Updated Branches:
refs/heads/master e75a7b7c3 -> 7dc43e003
Comments and reformatting.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d1e1fc73
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d1e1fc73
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d1e1fc73
Branch: refs/heads/master
Commit: d1e1fc731047406b6ab1c4403d2a25099b4e19f4
Parents: e75a7b7
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 26 18:12:47 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 26 18:12:47 2016 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/algebra/op/OpFilter.java | 71 ++++++++++----------
1 file changed, 35 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/d1e1fc73/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
index 8d373d0..68f70b9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
@@ -31,65 +31,67 @@ public class OpFilter extends Op1
protected ExprList expressions ;
/** Add expression - mutates an existing filter */
- public static Op filter(Expr expr, Op op)
- {
+ public static Op filter(Expr expr, Op op) {
OpFilter f = filter(op) ;
f.getExprs().add(expr) ;
return f ;
}
-
- public static OpFilter filter(Op op)
- {
+
+ /**
+ * Ensure that the algebra op is a filter. If the input is a filter, just return that,
+ * else create a filter with no expressions and this as the subOp
+ */
+ public static OpFilter filter(Op op) {
if ( op instanceof OpFilter )
- return (OpFilter)op ;
+ return (OpFilter)op ;
else
- return new OpFilter(op) ;
+ return new OpFilter(op) ;
}
-
- /** Add expressions - mutates an existing filter */
- public static Op filter(ExprList exprs, Op op)
- {
+
+ /** Add expressions - mutates an existing filter */
+ public static Op filter(ExprList exprs, Op op) {
if ( exprs.isEmpty() )
return op ;
OpFilter f = filter(op) ;
f.getExprs().addAll(exprs) ;
return f ;
}
-
- /** Make a OpFilter - guaranteed to return an OpFilter */
- public static OpFilter filterDirect(ExprList exprs, Op op)
- {
+
+ /** Make a OpFilter - guaranteed to return an fresh OpFilter */
+ public static OpFilter filterDirect(ExprList exprs, Op op) {
return new OpFilter(exprs, op) ;
}
-
- private OpFilter(Op sub)
- {
+ /** Make a OpFilter - guaranteed to return an fresh OpFilter */
+ public static OpFilter filterDirect(Expr expr, Op op) {
+ OpFilter f = new OpFilter(op) ;
+ f.getExprs().add(expr);
+ return f ;
+ }
+
+ private OpFilter(Op sub) {
super(sub) ;
expressions = new ExprList() ;
}
-
- private OpFilter(ExprList exprs , Op sub)
- {
+
+ private OpFilter(ExprList exprs, Op sub) {
super(sub) ;
expressions = exprs ;
}
-
- /** Compress multiple filters: (filter (filter (filter op)))) into one (filter op) */
- public static OpFilter tidy(OpFilter base)
- {
+
+ /** Compress multiple filters: (filter (filter (filter op)))) into one (filter op) */
+ public static OpFilter tidy(OpFilter base) {
ExprList exprs = new ExprList() ;
-
- Op op = base ;
- while ( op instanceof OpFilter )
- {
+
+ Op op = base ;
+ while (op instanceof OpFilter) {
OpFilter f = (OpFilter)op ;
exprs.addAll(f.getExprs()) ;
op = f.getSubOp() ;
}
return new OpFilter(exprs, op) ;
}
-
+
public ExprList getExprs() { return expressions ; }
@Override
@@ -106,19 +108,16 @@ public class OpFilter extends Op1
public Op1 copy(Op subOp) { return new OpFilter(expressions, subOp) ; }
@Override
- public int hashCode()
- {
+ public int hashCode() {
return expressions.hashCode() ;
}
-
+
@Override
- public boolean equalTo(Op other, NodeIsomorphismMap labelMap)
- {
+ public boolean equalTo(Op other, NodeIsomorphismMap labelMap) {
if ( ! (other instanceof OpFilter) ) return false ;
OpFilter opFilter = (OpFilter)other ;
if ( ! expressions.equals(opFilter.expressions) )
return false ;
-
return getSubOp().equalTo(opFilter.getSubOp(), labelMap) ;
}
}
[6/6] jena git commit: JENA-1226: Transform (filter (filter ...))
correctly.
Posted by an...@apache.org.
JENA-1226: Transform (filter (filter ...)) correctly.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/7dc43e00
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/7dc43e00
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/7dc43e00
Branch: refs/heads/master
Commit: 7dc43e003f4fb2db65c46d0ed7e1ca633a28ab07
Parents: fcc9ced
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 26 23:12:24 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 26 23:12:24 2016 +0100
----------------------------------------------------------------------
.../algebra/walker/ApplyTransformVisitor.java | 30 ++++++++++++++++----
.../algebra/optimize/TestTransformFilters.java | 27 ++++++++++++++++++
2 files changed, 51 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/7dc43e00/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ApplyTransformVisitor.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ApplyTransformVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ApplyTransformVisitor.java
index 5020647..7953c51 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ApplyTransformVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ApplyTransformVisitor.java
@@ -204,7 +204,17 @@ public class ApplyTransformVisitor implements OpVisitorByTypeAndExpr, ExprVisito
private ExprList collect(ExprList exprList) {
if ( exprList == null )
return null ;
- return new ExprList(collect(exprList.size())) ;
+ List<Expr> x = collect(exprList.size()) ;
+ boolean changed = false ;
+ for ( int i = 0 ; i < x.size() ; i++ ) {
+ if ( x.get(i) != exprList.get(i) ) {
+ changed = true ;
+ break ;
+ }
+ }
+ if ( ! changed )
+ return exprList ;
+ return new ExprList(x) ;
}
private ExprList collect(List<Expr> exprList) {
@@ -324,14 +334,22 @@ public class ApplyTransformVisitor implements OpVisitorByTypeAndExpr, ExprVisito
Op subOp = null ;
if ( opFilter.getSubOp() != null )
subOp = pop(opStack) ;
- boolean changed = (opFilter.getSubOp() != subOp) ;
-
ExprList ex = opFilter.getExprs() ;
+ if ( ex == null || ex.isEmpty() ) {
+ // No expressions.
+ // Doesn't normally happen but this code is safe in these cases.
+ push(opStack, opFilter.apply(opTransform, subOp)) ;
+ return ;
+ }
+ // ex2 is the same length as ex.
ExprList ex2 = collect(ex) ;
-
OpFilter f = opFilter ;
- if ( ex != ex2 )
- f = (OpFilter)OpFilter.filter(ex2, subOp) ;
+ if ( ex != ex2 || opFilter.getSubOp() != subOp ) {
+ f = OpFilter.filterAlways(ex2, subOp) ;
+ // If we removed a layer of filter, then subOp needs changing
+ // else f-subOp is subOp anyway.
+ subOp = f.getSubOp() ;
+ }
push(opStack, f.apply(opTransform, subOp)) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/7dc43e00/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
index 6aa3d24..e19289c 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
@@ -19,7 +19,10 @@
package org.apache.jena.sparql.algebra.optimize;
import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.Transform ;
+import org.apache.jena.sparql.algebra.TransformCopy ;
+import org.apache.jena.sparql.algebra.op.OpTable ;
import org.junit.Test ;
/** Tests of transforms related to filters */
@@ -31,6 +34,30 @@ public class TestTransformFilters extends AbstractTestTransform
private Transform t_implicitJoin = new TransformFilterImplicitJoin() ;
private Transform t_implicitLeftJoin = new TransformImplicitLeftJoin() ;
+ @Test public void nested_01() {
+ testOp(
+ "(filter (?A) (filter (?B) (table unit)))",
+ new TransformCopy(),
+ (String[])null) ;
+ }
+
+
+ @Test public void nested_02() {
+ Transform tableChanger = new TransformCopy() {
+ @Override
+ public Op transform(OpTable opTable) {
+ // Always a new object
+ return OpTable.create(opTable.getTable()) ;
+ }
+ };
+
+ testOp(
+ "(filter (?A) (filter (?B) (table unit)))",
+ tableChanger,
+ "(filter (exprlist ?B ?A) (table unit))") ;
+ }
+
+
// // JENA-1184 workaround - this optimization is current not active.
// @Test public void equality04() {
// // Eliminate unused
[4/6] jena git commit: JENA-1194: Process HAVING clause in a syntax
transform.
Posted by an...@apache.org.
JENA-1194: Process HAVING clause in a syntax transform.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/ea3d0265
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/ea3d0265
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/ea3d0265
Branch: refs/heads/master
Commit: ea3d0265233865972b0c83b46964ede7fd53381e
Parents: 770794c
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 26 21:27:53 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 26 21:27:53 2016 +0100
----------------------------------------------------------------------
.../syntaxtransform/QueryTransformOps.java | 27 ++++++++++++++++----
1 file changed, 22 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/ea3d0265/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QueryTransformOps.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QueryTransformOps.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QueryTransformOps.java
index cc82464..b08641a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QueryTransformOps.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QueryTransformOps.java
@@ -18,6 +18,7 @@
package org.apache.jena.sparql.syntax.syntaxtransform ;
+import java.util.List ;
import java.util.Map ;
import org.apache.jena.graph.Node ;
@@ -31,7 +32,10 @@ import org.apache.jena.sparql.core.DatasetDescription ;
import org.apache.jena.sparql.core.Prologue ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.core.VarExprList ;
-import org.apache.jena.sparql.expr.* ;
+import org.apache.jena.sparql.expr.Expr ;
+import org.apache.jena.sparql.expr.ExprTransform ;
+import org.apache.jena.sparql.expr.ExprTransformer ;
+import org.apache.jena.sparql.expr.ExprVar ;
import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.syntax.Element ;
import org.apache.jena.sparql.syntax.ElementGroup ;
@@ -49,8 +53,12 @@ public class QueryTransformOps {
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) ;
+ //?? DOES NOT WORK: transformExprListAgg(q2.getAggregators(), exprTransform) ;
+ // ??
// Nothing to do about ORDER BY - leave to sort by that variable.
// if ( q2.hasHaving() ) {}
@@ -73,10 +81,19 @@ public class QueryTransformOps {
return transform(query, transform, noop) ;
}
- // Mutates the VarExprList
- private static void transformVarExprList(VarExprList varExprList, ExprTransform exprTransform)
- // , final Map<Var, Node> substitutions)
- {
+ // ** Mutates the List
+ private static void transformExprList(List<Expr> exprList, ExprTransform exprTransform) {
+ for ( int i = 0 ; i < exprList.size() ; i++ ) {
+ Expr e1 = exprList.get(0) ;
+ Expr e2 = ExprTransformer.transform(exprTransform, e1) ;
+ if ( e2 == null || e2 == e1 )
+ continue ;
+ exprList.set(i, e2) ;
+ }
+ }
+
+ // ** Mutates the VarExprList
+ private static void transformVarExprList(VarExprList varExprList, ExprTransform exprTransform) {
Map<Var, Expr> map = varExprList.getExprs() ;
for (Var v : varExprList.getVars()) {
[3/6] jena git commit: Unnecessary explicit generic.
Posted by an...@apache.org.
Unnecessary explicit generic.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/770794ca
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/770794ca
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/770794ca
Branch: refs/heads/master
Commit: 770794ca07b0f7d74b845dd85380a8823b0fc051
Parents: c4039d4
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 26 18:13:54 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 26 18:13:54 2016 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/770794ca/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
index 7662e0c..a0c8863 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
@@ -41,7 +41,7 @@ public class ExprList implements Iterable<Expr>
}
/** Empty, immutable ExprList */
- public static final ExprList emptyList = new ExprList(Collections.<Expr> emptyList()) ;
+ public static final ExprList emptyList = new ExprList(Collections.emptyList()) ;
public ExprList() { expressions = new ArrayList<Expr>() ; }
[5/6] jena git commit: Different flavours of making OpFilters from
expressions and subOp.
Posted by an...@apache.org.
Different flavours of making OpFilters from expressions and subOp.
Rename of OpFilter.filter to OpFilter.filterBy.
Describe each form.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/fcc9cede
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/fcc9cede
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/fcc9cede
Branch: refs/heads/master
Commit: fcc9cedec5d7fd7d56688176b8486be51eb75a32
Parents: ea3d026
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 26 21:46:23 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 26 21:52:54 2016 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/algebra/op/OpFilter.java | 21 ++++++++++++++++----
.../optimize/TransformEliminateAssignments.java | 2 +-
.../algebra/optimize/TransformExpandOneOf.java | 2 +-
.../optimize/TransformFilterDisjunction.java | 2 +-
.../optimize/TransformFilterEquality.java | 4 ++--
.../optimize/TransformFilterImplicitJoin.java | 4 ++--
.../optimize/TransformFilterInequality.java | 4 ++--
.../optimize/TransformFilterPlacement.java | 14 ++++++-------
.../algebra/optimize/TransformJoinStrategy.java | 2 +-
.../org/apache/jena/sparql/core/Substitute.java | 2 +-
.../jena/sparql/graph/NodeTransformOp.java | 2 +-
.../jena/sparql/sse/builders/BuilderOp.java | 2 +-
.../arq/querybuilder/rewriters/OpRewriter.java | 2 +-
.../permissions/query/rewriter/OpRewriter.java | 2 +-
.../apache/jena/sdb/layout2/QueryCompiler2.java | 2 +-
15 files changed, 40 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
index 68f70b9..aafffb8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFilter.java
@@ -41,21 +41,34 @@ public class OpFilter extends Op1
* Ensure that the algebra op is a filter. If the input is a filter, just return that,
* else create a filter with no expressions and this as the subOp
*/
- public static OpFilter filter(Op op) {
+ private static OpFilter filter(Op op) {
if ( op instanceof OpFilter )
return (OpFilter)op ;
else
return new OpFilter(op) ;
}
- /** Add expressions - mutates an existing filter */
- public static Op filter(ExprList exprs, Op op) {
- if ( exprs.isEmpty() )
+ /** Combine an ExprList with an Op so that the expressions filter the Op.
+ * If the exprs are empty, return the Op.
+ * If the op is already a OpFilter, merge the expressions into the filters existintg expressions.
+ * Else create a new OpFilter with the expressions and subOp.
+ */
+ public static Op filterBy(ExprList exprs, Op op) {
+ if ( exprs == null || exprs.isEmpty() )
return op ;
OpFilter f = filter(op) ;
f.getExprs().addAll(exprs) ;
return f ;
}
+
+ /** Create a OpFilter with the expressions and subOp.
+ * If subOp is a filter, combine expressions (de-layer).
+ */
+ public static OpFilter filterAlways(ExprList exprs, Op subOp) {
+ OpFilter f = filter(subOp) ;
+ f.getExprs().addAll(exprs) ;
+ return f ;
+ }
/** Make a OpFilter - guaranteed to return an fresh OpFilter */
public static OpFilter filterDirect(ExprList exprs, Op op) {
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
index 2af889d..162b5cd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
@@ -190,7 +190,7 @@ public class TransformEliminateAssignments extends TransformCopy {
// Create a new filter if we've substituted any expressions
if (modified) {
- return OpFilter.filter(exprs, subOp);
+ return OpFilter.filterBy(exprs, subOp);
}
return super.transform(opFilter, subOp);
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformExpandOneOf.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformExpandOneOf.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformExpandOneOf.java
index 16df28c..689c40e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformExpandOneOf.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformExpandOneOf.java
@@ -40,7 +40,7 @@ public class TransformExpandOneOf extends TransformCopy
ExprList exprList2 = process(exprList);
if ( exprList2 == null )
return super.transform(opFilter, subOp);
- Op opFilter2 = OpFilter.filter(exprList2, subOp);
+ Op opFilter2 = OpFilter.filterBy(exprList2, subOp);
return opFilter2;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterDisjunction.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterDisjunction.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterDisjunction.java
index 7ca96f6..66c03da 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterDisjunction.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterDisjunction.java
@@ -102,7 +102,7 @@ public class TransformFilterDisjunction extends TransformCopy
// Put the non-disjunctions outside the disjunction and the pattern rewrite.
- Op opOther = OpFilter.filter(exprList2, newOp) ;
+ Op opOther = OpFilter.filterBy(exprList2, newOp) ;
if ( opOther instanceof OpFilter) {
return opOther ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java
index d5e4d93..1a7222a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java
@@ -137,7 +137,7 @@ public class TransformFilterEquality extends TransformCopy {
Op op = rebuild((Op2) subOp, ops);
// Put all filters - either we optimized, or we left alone.
// Either way, the complete set of filter expressions.
- op = OpFilter.filter(exprs, op);
+ op = OpFilter.filterBy(exprs, op);
return op;
}
@@ -151,7 +151,7 @@ public class TransformFilterEquality extends TransformCopy {
// ---- Place any filter expressions around the processed sub op.
if (remaining.size() > 0)
- op = OpFilter.filter(remaining, op);
+ op = OpFilter.filterBy(remaining, op);
return op;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
index 93bceba..d264f28 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
@@ -137,7 +137,7 @@ public class TransformFilterImplicitJoin extends TransformCopy {
op = rebuild((Op2) subOp, ops);
// Put all filters - either we optimized, or we left alone.
// Either way, the complete set of filter expressions.
- op = OpFilter.filter(exprs, op);
+ op = OpFilter.filterBy(exprs, op);
return op;
}
@@ -163,7 +163,7 @@ public class TransformFilterImplicitJoin extends TransformCopy {
// ---- Place any filter expressions around the processed sub op.
if (remaining.size() > 0)
- op = OpFilter.filter(remaining, op);
+ op = OpFilter.filterBy(remaining, op);
return op;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterInequality.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterInequality.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterInequality.java
index 3adb166..3ffeb4f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterInequality.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterInequality.java
@@ -142,7 +142,7 @@ public class TransformFilterInequality extends TransformCopy {
op = rebuild((Op2) subOp, ops);
// Put all filters - either we optimized, or we left alone.
// Either way, the complete set of filter expressions.
- op = OpFilter.filter(exprs, op);
+ op = OpFilter.filterBy(exprs, op);
return op;
}
@@ -155,7 +155,7 @@ public class TransformFilterInequality extends TransformCopy {
// ---- Place any filter expressions around the processed sub op.
if (remaining.size() > 0)
- op = OpFilter.filter(remaining, op);
+ op = OpFilter.filterBy(remaining, op);
return op;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
index 3384e08..43c15ed 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
@@ -167,7 +167,7 @@ public class TransformFilterPlacement extends TransformCopy {
Op op = buildFilter(placement) ;
if ( exprs2 != null )
// Add back the non-deterministic expressions
- op = OpFilter.filter(exprs2, op );
+ op = OpFilter.filterBy(exprs2, op );
return op ;
}
@@ -258,7 +258,7 @@ public class TransformFilterPlacement extends TransformCopy {
// If op is also a filter, a single filter is created with
// exprsInner now after placed filters.
// ("after" means later in the exprList of the filter).
- Op f = OpFilter.filter(exprsInner, op) ;
+ Op f = OpFilter.filterBy(exprsInner, op) ;
return new Placement(f, exprsOuter) ;
}
@@ -323,7 +323,7 @@ public class TransformFilterPlacement extends TransformCopy {
if (pushed.size() == 0)
return noChangePlacement ;
// Safe to place some conditions around the BGP
- Op opx = OpFilter.filter(pushed, new OpBGP(pattern)) ;
+ Op opx = OpFilter.filterBy(pushed, new OpBGP(pattern)) ;
return result(opx, unpushed);
}
@@ -408,7 +408,7 @@ public class TransformFilterPlacement extends TransformCopy {
if (pushed.size() == 0) return null;
// Safe to place some conditions around the quadpattern
- return new Placement(OpFilter.filter(pushed, new OpQuadPattern(graphNode, pattern)), unpushed);
+ return new Placement(OpFilter.filterBy(pushed, new OpQuadPattern(graphNode, pattern)), unpushed);
}
/** Find the current OpQuadPattern, or return null. */
@@ -709,7 +709,7 @@ public class TransformFilterPlacement extends TransformCopy {
Op result = input.copy(subOp) ;
if ( ! wrapping.isEmpty() )
- result = OpFilter.filter(wrapping, result) ;
+ result = OpFilter.filterBy(wrapping, result) ;
return result(result, unplaced) ;
}
@@ -752,13 +752,13 @@ public class TransformFilterPlacement extends TransformCopy {
// return a placement for the unpushed.
Op op1 = input.getSubOp() ;
if ( pushed != null &&! pushed.isEmpty() )
- op1 = OpFilter.filter(pushed, op1) ;
+ op1 = OpFilter.filterBy(pushed, op1) ;
Op op2 = input.copy(op1) ;
return result(op2, unpushed) ;
}
// We did make changes below. Add filter for these (which includes the
// "pushed" at this level, now in the p.op or left in p.unplaced.
- Op op_a = OpFilter.filter(subPlacement.unplaced, subPlacement.op) ;
+ Op op_a = OpFilter.filterBy(subPlacement.unplaced, subPlacement.op) ;
op_a = input.copy(op_a) ;
return result(op_a, unpushed) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformJoinStrategy.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformJoinStrategy.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformJoinStrategy.java
index 4f4dc6b..7765bee 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformJoinStrategy.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformJoinStrategy.java
@@ -76,7 +76,7 @@ public class TransformJoinStrategy extends TransformCopy
// a filter over the RHS pattern.
if (opLeftJoin.getExprs() != null )
- opRight = OpFilter.filter(opLeftJoin.getExprs(), opRight) ;
+ opRight = OpFilter.filterBy(opLeftJoin.getExprs(), opRight) ;
return new OpConditional(opLeft, opRight) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java
index 2583b8a..e27b4b1 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Substitute.java
@@ -222,7 +222,7 @@ public class Substitute {
ExprList exprs = filter.getExprs().copySubstitute(binding);
if ( exprs == filter.getExprs() )
return filter;
- return OpFilter.filter(exprs, op);
+ return OpFilter.filterBy(exprs, op);
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
index c6c60af..ff3a74b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
@@ -69,7 +69,7 @@ class NodeTransformOp extends TransformCopy
ExprList exprList2 = NodeTransformLib.transform(transform, exprList) ;
if ( exprList2 == exprList )
return super.transform(opFilter, subOp) ;
- return OpFilter.filter(exprList2, subOp) ;
+ return OpFilter.filterBy(exprList2, subOp) ;
}
@Override public Op transform(OpBGP opBGP)
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
index e177e3a..02c0af0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
@@ -307,7 +307,7 @@ public class BuilderOp
Op op = build(itemOp.getList()) ;
ExprList exprList = BuilderExpr.buildExprOrExprList(itemExpr) ;
- return OpFilter.filter(exprList, op) ;
+ return OpFilter.filterDirect(exprList, op) ;
}
} ;
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
----------------------------------------------------------------------
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
index 95b21e4..fba3039 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
@@ -161,7 +161,7 @@ class OpRewriter extends AbstractRewriter<Op> implements OpVisitor {
@Override
public void visit(OpFilter opFilter) {
opFilter.getSubOp().visit(this);
- push(OpFilter.filter(
+ push(OpFilter.filterBy(
new ExprRewriter(values).rewrite(opFilter.getExprs()), pop()));
}
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
index cdd40ed..79bf030 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
@@ -331,7 +331,7 @@ public class OpRewriter implements OpVisitor {
if (LOG.isDebugEnabled()) {
LOG.debug("Starting visiting OpFilter");
}
- addOp(OpFilter.filter(opFilter.getExprs(), rewriteOp1(opFilter)));
+ addOp(OpFilter.filterBy(opFilter.getExprs(), rewriteOp1(opFilter)));
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/fcc9cede/jena-sdb/src/main/java/org/apache/jena/sdb/layout2/QueryCompiler2.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/layout2/QueryCompiler2.java b/jena-sdb/src/main/java/org/apache/jena/sdb/layout2/QueryCompiler2.java
index 531577e..7c5d061 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/layout2/QueryCompiler2.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/layout2/QueryCompiler2.java
@@ -119,7 +119,7 @@ public abstract class QueryCompiler2 extends QueryCompilerMain
exprs2.add(expr2) ;
}
- return OpFilter.filter(exprs2, op) ;
+ return OpFilter.filterBy(exprs2, op) ;
}
// return null for don't need an expr anymore.
[2/6] jena git commit: Keep original input - debugging help.
Posted by an...@apache.org.
Keep original input - debugging help.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c4039d49
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c4039d49
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c4039d49
Branch: refs/heads/master
Commit: c4039d494f6a7f30e5c6854ef62f33618c18792d
Parents: d1e1fc7
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Aug 26 18:13:11 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Aug 26 18:13:11 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/sparql/algebra/optimize/Optimize.java | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c4039d49/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/Optimize.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/Optimize.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/Optimize.java
index 89787c9..0e7e45a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/Optimize.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/Optimize.java
@@ -122,6 +122,9 @@ public class Optimize implements Rewrite
@Override
public Op rewrite(Op op)
{
+ // For debugging, keep the original input around.
+ Op originalOp = op ;
+
// Record optimizer
if ( context.get(ARQConstants.sysOptimizer) == null )
context.set(ARQConstants.sysOptimizer, this) ;