Andy Seaborne created JENA-692:
----------------------------------

             Summary: Filter implicit join optimization incorrect
                 Key: JENA-692
                 URL: https://issues.apache.org/jira/browse/JENA-692
             Project: Apache Jena
          Issue Type: Bug
          Components: ARQ
    Affects Versions: Jena 2.11.1, Jena 2.11.0
            Reporter: Andy Seaborne
         Attachments: D.ttl, Q.rq

(Starts at 2.11.0; 2.10.* is OK)

The filter implicit join optimization misoptimizes the example - it pushes in 
the equality but each arm is missing one of the variables.

{noformat}
PREFIX : <http://example.org/>
SELECT *
{
  { ?a :p :o1 }
  UNION
  { ?b :p ?a }
  FILTER ( ?a = ?b )
}
{noformat}
The first arm of the UNION does include ?b and so {{( ?a = ?b )}} is false by 
being an error with unbound {{?b}}

the optimization creates:
{noformat}
(prefix ((: <http://example.org/>))
  (assign ((?a ?b))
    (union
      (bgp (triple ?b :p :o1))
      (bgp (triple ?b :p ?b)))))
{noformat}
which has replaces the {{?a}} with {{?b}} in the first arm.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to