[ https://issues.apache.org/jira/browse/OAK-7166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davide Giannella updated OAK-7166: ---------------------------------- Fix Version/s: 1.16.0 > 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 > Reporter: Thomas Mueller > Assignee: Thomas Mueller > Priority: Major > Fix For: 1.14.0, 1.16.0 > > > 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. -- This message was sent by Atlassian JIRA (v7.6.3#76005)