Thomas Mueller created OAK-7166:
-----------------------------------
Summary: Union with different selector names
Key: OAK-7166
URL: https://issues.apache.org/jira/browse/OAK-7166
Project: Jackrabbit Oak
Issue Type: Bug
Components: query
Environment: The following query returns the wrong nodes:
{noformat}
/jcr:root/libs/(* | */* | */*/* | */*/*/* | */*/*/*/*)/install
select b.[jcr:path] as [jcr:path], b.[jcr:score] as [jcr:score], b.* from
[nt:base] as a
inner join [nt:base] as b on ischildnode(b, a)
where ischildnode(a, '/libs') and name(b) = 'install'
union select c.[jcr:path] as [jcr:path], c.[jcr:score] as [jcr:score], c.*
from [nt:base] as a
inner join [nt:base] as b on ischildnode(b, a)
inner join [nt:base] as c on ischildnode(c, b)
where ischildnode(a, '/libs') and name(c) = 'install'
union select d.[jcr:path] as [jcr:path], d.[jcr:score] as [jcr:score], d.*
from [nt:base] as a
inner join [nt:base] as b on ischildnode(b, a)
inner join [nt:base] as c on ischildnode(c, b)
inner join [nt:base] as d on ischildnode(d, c)
where ischildnode(a, '/libs') and name(d) = 'install'
{noformat}
If I change the selector name to "x" in each subquery, then it works. There is
no XPath version of this workaround:
{noformat}
select x.[jcr:path] as [jcr:path], x.[jcr:score] as [jcr:score], x.* from
[nt:base] as a
inner join [nt:base] as x on ischildnode(x, a)
where ischildnode(a, '/libs') and name(x) = 'install'
union select x.[jcr:path] as [jcr:path], x.[jcr:score] as [jcr:score], x.*
from [nt:base] as a
inner join [nt:base] as b on ischildnode(b, a)
inner join [nt:base] as x on ischildnode(x, b)
where ischildnode(a, '/libs') and name(x) = 'install'
union select x.[jcr:path] as [jcr:path], x.[jcr:score] as [jcr:score], x.*
from [nt:base] as a
inner join [nt:base] as b on ischildnode(b, a)
inner join [nt:base] as c on ischildnode(c, b)
inner join [nt:base] as x on ischildnode(x, c)
where ischildnode(a, '/libs') and name(x) = 'install'
{noformat}
Need to check if this is a Oak bug, or a bug in the query tool I use.
Reporter: Thomas Mueller
Assignee: Thomas Mueller
Fix For: 1.10
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)