Author: andy
Date: Sun Apr 14 08:31:40 2013
New Revision: 1467746
URL: http://svn.apache.org/r1467746
Log:
Switch back to checking mention of variables, not whether visible.
Put back tests.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/OpVars.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/Expr.java
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/TestTransformQuads.java
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java?rev=1467746&r1=1467745&r2=1467746&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java
(original)
+++
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/AlgebraQuad.java
Sun Apr 14 08:31:40 2013
@@ -90,7 +90,7 @@ public class AlgebraQuad extends Transfo
if ( Var.isVar(gn) )
{
- Collection<Var> vars = OpVars.visibleVars(opGraph.getSubOp()) ;
+ Collection<Var> vars =
OpVars.mentionedVars(opGraph.getSubOp()) ;
if ( vars.contains(gn) )
gnQuad = varAlloc.allocVar() ;
}
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/OpVars.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/OpVars.java?rev=1467746&r1=1467745&r2=1467746&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/OpVars.java
(original)
+++
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/OpVars.java
Sun Apr 14 08:31:40 2013
@@ -55,19 +55,16 @@ public class OpVars
OpWalker.walk(new WalkerVisitorVisible(visitor, acc), op) ;
}
- /** @deprecated Not stable across scope renaming. Use {@linkplain
#visibleVars} */
- @Deprecated
- public static Collection<Var> allVars(Op op)
+ // All mentioned variables regardless of scope/visibility.
+ public static Collection<Var> mentionedVars(Op op)
{
Set<Var> acc = new HashSet<Var>() ;
- allVars(op, acc) ;
+ mentionedVars(op, acc) ;
return acc ;
}
- /** @deprecated Not stable across scope renaming. Use {@linkplain
#visibleVars} */
- @Deprecated
// All mentioned variables regardless of scope/visibility.
- public static void allVars(Op op, Set<Var> acc)
+ public static void mentionedVars(Op op, Set<Var> acc)
{
OpVarsQuery visitor = new OpVarsQuery(acc) ;
OpWalker.walk(op, visitor) ;
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/Expr.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/Expr.java?rev=1467746&r1=1467745&r2=1467746&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/Expr.java
(original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/Expr.java Sun
Apr 14 08:31:40 2013
@@ -46,8 +46,9 @@ public interface Expr
*/
public boolean isSatisfied(Binding binding, FunctionEnv execCxt) ;
- // Could use ExprVars directly.
+ /** Variables used by this expression - excludes variables scoped to
(NOT)EXISTS*/
public Set<Var> getVarsMentioned() ;
+ /** Variables used by this expression - excludes variables scoped to
(NOT)EXISTS*/
public void varsMentioned(Collection<Var> acc) ;
/** Return true iff this constraint is implemened by something in the expr
package
Modified:
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/TestTransformQuads.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/TestTransformQuads.java?rev=1467746&r1=1467745&r2=1467746&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/TestTransformQuads.java
(original)
+++
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/TestTransformQuads.java
Sun Apr 14 08:31:40 2013
@@ -20,7 +20,6 @@ package com.hp.hpl.jena.sparql.algebra;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.StrUtils ;
-import org.junit.Ignore ;
import org.junit.Test ;
import com.hp.hpl.jena.query.Query ;
@@ -60,7 +59,6 @@ public class TestTransformQuads extends
" (quadpattern (quad ?g ?s1 ?p1
?o1))))"
) ; }
// Filters
- @Ignore("This optimization is suspect - improving more common
filter-equality usage stops this case")
@Test public void quads10() { test ("{ GRAPH ?g { ?s ?p ?o FILTER (str(?g)
= 'graphURI') } }",
"(assign ((?g ?*g0))" +
" (filter (= (str ?g) 'graphURI')" +
@@ -73,7 +71,6 @@ public class TestTransformQuads extends
) ; }
// Nested and filter
- @Ignore("This optimization is suspect - improving more common
filter-equality usage stops this case")
@Test public void quads20() { test ("{ GRAPH ?g { ?s ?p ?o GRAPH ?g1 { ?s1
?p1 ?o1 FILTER (str(?g) = 'graphURI') } } }",
"(assign ((?g ?*g0))" +
" (sequence" +
@@ -82,7 +79,6 @@ public class TestTransformQuads extends
" (quadpattern (quad ?g1 ?s1 ?p1
?o1)))))"
) ; }
- @Ignore("This optimization is suspect - improving more common
filter-equality usage stops this case")
@Test public void quads21() { test ("{ GRAPH ?g { ?s ?p ?o GRAPH ?g1 { ?s1
?p1 ?o1 FILTER (str(?g1) = 'graphURI') } } }",
"(sequence" +
" (quadpattern (quad ?g ?s ?p ?o))" +
@@ -92,7 +88,6 @@ public class TestTransformQuads extends
) ; }
// Tricky pattern ... twice.
- @Ignore("This optimization is suspect - improving more common
filter-equality usage stops this case")
@Test public void quads30() { test ( "{ GRAPH ?g { ?s ?p ?o FILTER
(str(?g) = 'graphURI') } " +
" GRAPH ?g { ?s ?p ?o FILTER
(str(?g) = 'graphURI') } }",
"(sequence" +