You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2017/06/06 10:11:18 UTC

[jira] [Created] (OAK-6309) Not always convert XPath "primaryType in a, b" to union

Thomas Mueller created OAK-6309:
-----------------------------------

             Summary: Not always convert XPath "primaryType in a, b" to union
                 Key: OAK-6309
                 URL: https://issues.apache.org/jira/browse/OAK-6309
             Project: Jackrabbit Oak
          Issue Type: Improvement
            Reporter: Thomas Mueller
            Assignee: Thomas Mueller
             Fix For: 1.8


Currently, queries with multiple primary types are always converted to a "union", but this is not alway the best solution. The main problem is that results are not sorted by score as expected. Example:

{noformat}
/jcr:root/content//element(*, nt:hierarchyNode)[jcr:contains(., 'abc)
and (@jcr:primaryType = 'acme:Page' or @jcr:primaryType = 'acme:Asset')] 
{noformat}

This is currently converted to a union, even if the same index is used for buth subqueries (assuming there is an index on nt:hierarchyNode).

A workaround is to use:

{noformat}
/jcr:root/content//element(*, nt:hierarchyNode)[jcr:contains(., 'abc)
and (./@jcr:primaryType = 'acme:Page' or ./@jcr:primaryType = 'acme:Asset')] 
{noformat}




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)