[ 
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

        

Reply via email to