Test for JENA-1113. Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/83654525 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/83654525 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/83654525
Branch: refs/heads/JENA-507 Commit: 83654525e54240b6d70b7b36728cef561520a6c8 Parents: 925ef10 Author: Andy Seaborne <[email protected]> Authored: Fri Jan 8 22:36:32 2016 +0000 Committer: Andy Seaborne <[email protected]> Committed: Fri Jan 8 22:36:32 2016 +0000 ---------------------------------------------------------------------- .../algebra/optimize/TransformExpandOneOf.java | 2 +- .../algebra/optimize/TestTransformFilters.java | 24 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/83654525/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 76f8c2d..16df28c 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 @@ -71,7 +71,7 @@ public class TransformExpandOneOf extends TransformCopy return (e instanceof E_OneOfBase) && ((E_OneOfBase)e).getRHS().size() < REWRITE_LIMIT; } - private static int REWRITE_LIMIT = 250; + /*package*/ static int REWRITE_LIMIT = 250; private static ExprList expand(ExprList exprList) { ExprList exprList2 = new ExprList() ; http://git-wip-us.apache.org/repos/asf/jena/blob/83654525/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 02ae27a..12c2903 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 @@ -486,6 +486,30 @@ public class TestTransformFilters extends AbstractTestTransform t_expandOneOf, "(filter true (distinct (filter (exprlist (!= ?x 1) (!= ?x 2)) (bgp (triple ?s ?p ?x)) )))") ; } + + @Test + public void oneOf6() { + // JENA-1113 + int x = TransformExpandOneOf.REWRITE_LIMIT ; + try { + TransformExpandOneOf.REWRITE_LIMIT = 3 ; + testOp("(filter true (distinct (filter (notin ?x 1 2) (bgp (?s ?p ?x)) )))", + t_expandOneOf, + "(filter true (distinct (filter (exprlist (!= ?x 1) (!= ?x 2)) (bgp (triple ?s ?p ?x)) )))") ; + testOp("(filter true (distinct (filter (notin ?x 1 2 3) (bgp (?s ?p ?x)) )))", + t_expandOneOf, + // No change. + "(filter true (distinct (filter (notin ?x 1 2 3) (bgp (?s ?p ?x)) )))") ; + + } finally { + TransformExpandOneOf.REWRITE_LIMIT = x ; + } + // Check reset. + testOp("(filter true (distinct (filter (notin ?x 1 2 3) (bgp (?s ?p ?x)) )))", + t_expandOneOf, + "(filter true (distinct (filter (exprlist (!= ?x 1) (!= ?x 2)) (bgp (triple ?s ?p ?x)) )))") ; + } + @Test public void implicitJoin01() { testOp(
