Author: andy
Date: Fri Aug 29 07:48:03 2014
New Revision: 1621254
URL: http://svn.apache.org/r1621254
Log:
JENA-771 : Fix to TransformExpandOneOf so as to pass on changes made lower down.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformExpandOneOf.java
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformExpandOneOf.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformExpandOneOf.java?rev=1621254&r1=1621253&r2=1621254&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformExpandOneOf.java
(original)
+++
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformExpandOneOf.java
Fri Aug 29 07:48:03 2014
@@ -45,7 +45,7 @@ public class TransformExpandOneOf extend
ExprList exprList = opFilter.getExprs() ;
ExprList exprList2 = process(exprList) ;
if ( exprList2 == null )
- return opFilter ;
+ return super.transform(opFilter, subOp) ;
Op opFilter2 = OpFilter.filter(exprList2, subOp) ;
return opFilter2 ;
}
Modified:
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java?rev=1621254&r1=1621253&r2=1621254&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java
(original)
+++
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java
Fri Aug 29 07:48:03 2014
@@ -33,7 +33,7 @@ public class TestTransformFilters extend
private Transform t_implicitJoin = new TransformFilterImplicitJoin() ;
private Transform t_implicitLeftJoin = new TransformImplicitLeftJoin() ;
- @Test public void equality01()
+ @Test public void equality01()
{
testOp("(filter (= ?x <x>) (bgp ( ?s ?p ?x)) )",
t_equality,
@@ -476,6 +476,22 @@ public class TestTransformFilters extend
"(filter (exprlist (!= ?x <x>) (!= ?x 2) (!= ?x 3)) (bgp (?s ?p
?x)))") ;
}
+ @Test
+ public void oneOf4() {
+ // JENA-771
+ testOp("(filter true (distinct (filter (in ?x 1 2) (bgp (?s ?p ?x))
)))",
+ t_expandOneOf,
+ "(filter true (distinct (filter (|| (= ?x 1) (= ?x 2) ) (bgp
(triple ?s ?p ?x)) )))") ;
+ }
+
+ @Test
+ public void oneOf5() {
+ // JENA-771
+ 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)) )))") ;
+ }
+
@Test public void implicitJoin01()
{
testOp(