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/04/17 14:15:06 UTC

[5/5] jena git commit: JENA-1184: Workround - disable the elimination of redundant subOp.

JENA-1184: Workround - disable the elimination of redundant subOp.

This optimization is best run after join-strategy but that make
scoping different, invalidating the elimination.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c917e892
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c917e892
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c917e892

Branch: refs/heads/master
Commit: c917e892ba934947d0ae0da21ab2e54d35ba9bc1
Parents: 14df3ce
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Apr 17 13:08:54 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Apr 17 13:08:54 2016 +0100

----------------------------------------------------------------------
 .../sparql/algebra/optimize/TransformFilterEquality.java  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/c917e892/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 a3450a5..45a9167 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
@@ -116,7 +116,15 @@ public class TransformFilterEquality extends TransformCopy {
         // Special case : deduce that the filter will always "eval unbound"
         // hence eliminate all rows. Return the empty table.
         if (testSpecialCaseUnused(subOp, equalities, remaining))
-            return OpTable.empty();
+            // JENA-1184
+            // If this is run after join-strategy, then scope is not a simple matter
+            // of looking at the subOp.  But running before join-strategy
+            // causes other code to not optimize (presumablty because it was developed
+            // to run after join-strategy probably by conincidence)
+            // @Test TestTransformFilters.equality04
+            //return OpTable.empty();
+            // JENA-1184 woraround. Return unchanged.
+            return null ;
 
         // Special case: the deep left op of a OpConditional/OpLeftJoin is the unit table.
         // This is the case of: