[
https://issues.apache.org/jira/browse/JENA-294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simon Helsen reopened JENA-294:
-------------------------------
I tested against HEAD and yes, for queries with only OPTIONALs,everything seems
to work correctly now, but the optimization is lost whenever the query starts
with OPTIONAL, but also has a non-optional clause. E.g.
PREFIX : <http://example/>
SELECT *
{
OPTIONAL { ?x :q ?o }
FILTER(?x = :x)
?x :p ?o2
}
produces
(prefix ((: <http://example/>))
(filter (= ?x :x)
(sequence
(conditional
(table unit)
(bgp (triple ?x :q ?o)))
(bgp (triple ?x :p ?o2)))))
The assigns are lost
> 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
> Assignee: Andy Seaborne
> Fix For: ARQ 2.9.4
>
> 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