You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2013/06/24 21:34:11 UTC
svn commit: r1496173 -
/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java
Author: rvesse
Date: Mon Jun 24 19:34:11 2013
New Revision: 1496173
URL: http://svn.apache.org/r1496173
Log:
Some more tests for safe and unsafe applications of implicit join optimizations (JENA-473)
Modified:
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformFilters.java
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=1496173&r1=1496172&r2=1496173&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 Mon Jun 24 19:34:11 2013
@@ -592,13 +592,44 @@ public class TestTransformFilters
(String[])null);
}
- @Test public void implicitJoin9()
+ @Test public void implicitJoin7()
{
test(
"(filter ((= ?x ?y) (= ?x ?z)) (bgp (?x ?p ?o)(?y ?p1 ?z)))",
t_implicitJoin,
(String[])null);
}
+
+ @Test public void implicitJoin8()
+ {
+ test(
+ "(filter (= ?x ?y) (join (bgp (?x ?p ?o)) (bgp (?y ?p1 ?o1))))",
+ t_implicitJoin,
+ "(assign ((?x ?y)) (join (bgp (?y ?p ?o)) (bgp (?y ?p1 ?o1))))");
+
+ test(
+ "(filter (= ?y ?x) (join (bgp (?x ?p ?o)) (bgp (?y ?p1 ?o1))))",
+ t_implicitJoin,
+ "(assign ((?y ?x)) (join (bgp (?x ?p ?o)) (bgp (?x ?p1 ?o1))))");
+ }
+
+ @Test public void implicitJoin9()
+ {
+ // A variable introduced by an assign cannot be considered safe
+ test(
+ "(filter (= ?x ?y) (assign ((?x <http://constant>)) (bgp (?y ?p ?o))))",
+ t_implicitJoin,
+ (String[])null);
+ }
+
+ @Test public void implicitJoin10()
+ {
+ // A variable not necessarily fixed makes the transform unsafe
+ test(
+ "(filter (= ?x ?y) (leftjoin (leftjoin (bgp (?s <http://pred> ?o)) (bgp (?x ?p ?o))) (bgp (?y ?p1 ?o1))))",
+ t_implicitJoin,
+ (String[])null);
+ }
@Test public void implicitLeftJoin1()
{