[ https://issues.apache.org/jira/browse/JENA-294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435436#comment-13435436 ]
Simon Helsen commented on JENA-294: ----------------------------------- When I apply your patch to the trunk and try it on the following query: PREFIX : <http://example/> SELECT * { OPTIONAL { ?x :r ?s } OPTIONAL { ?x :q ?o } FILTER(?x = :x) } I get the following plan: (prefix ((: <http://example/>)) (assign ((?x :x)) (conditional (conditional (table unit) (bgp (triple :x :r ?s))) (bgp (triple :x :q ?o))))) Does this not exhibit the same problem as discussed earlier? I.e. the bindings on ?x for :r and :q may not exist, yet a row would be returned with a binding for :x > TransformFilterEquality does not handle starting OPTIONAL well > -------------------------------------------------------------- > > Key: JENA-294 > URL: https://issues.apache.org/jira/browse/JENA-294 > Project: Apache Jena > Issue Type: Improvement > Components: ARQ > Affects Versions: Jena 2.7.4 > Reporter: Simon Helsen > Attachments: jena-294-afs-1.patch, patch.txt, patch.txt, > test-filter-equality.zip > > > There was one other case where our tests were stuck on a very slow query > execution because transformFilterEquality failed to optimize. The problem is > that the optimizer gives up whenever the WHERE clause starts with an OPTIONAL > clause. The reason is that the generated algebraic formula starts with a > TableUnit and this is not handled correctly. > I have attached a patch which fixes the problem -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira