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 2016/04/21 12:36:25 UTC
[jira] [Created] (OAK-4265) XPath: support limited form of "union"
Thomas Mueller created OAK-4265:
-----------------------------------
Summary: XPath: support limited form of "union"
Key: OAK-4265
URL: https://issues.apache.org/jira/browse/OAK-4265
Project: Jackrabbit Oak
Issue Type: New Feature
Components: query
Reporter: Thomas Mueller
Assignee: Thomas Mueller
Fix For: 1.6
Currently, SQL-2 supports multiple paths restrictions combined with "or", and it supports "union". XPath doesn't support either. It would be good if this is supported, specially the "multiple paths" part.
I think it makes sense to convert this to a SQL-2 "union" in all cases, even if it's just multiple paths.
It doesn't need to be a "generic" solution, so that "|" doesn't need to be supported at every place (for example in the condition, or in the "order by"). But it would be nice if multiple independent queries, with one order by, could be supported.
Implementation note: what makes this a bit complicated is support for "order by".
For example:
{noformat}
/jcr:root/(content|lib)/element(*, nt:base) order by @title
select [jcr:path], [jcr:score], *
from [nt:base] as a
where ischildnode(a, '/content')
/* xpath: /jcr:root/content/element(*, nt:base) order by @title */
union select [jcr:path], [jcr:score], *
from [nt:base] as a
where ischildnode(a, '/lib')
/* xpath: /jcr:root/lib/element(*, nt:base) order by @title */
order by [title]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)