[ https://issues.apache.org/jira/browse/JCR-2933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014491#comment-13014491 ]
Thomas Mueller commented on JCR-2933: ------------------------------------- > mark the +3 way up as experimental, than having something that does not work > at all. That's an option, but then it should be documented. > There are also very few test cases > I find it worrying that the simple outer join (2 way if you will) does not > work properly. Yes, that's why I think we should add more test cases :-) > I'm not even sure that is within JR's capabilities. I know Jackrabbit doesn't support explicitly nested joins (using "()"), but nesting can be influences with placing the join condition: SELECT * FROM c LEFT OUTER JOIN a LEFT OUTER JOIN b ON ISCHILDNODE(a, b) ON ISCHILDNODE(a, c) ==> SELECT * FROM c LEFT OUTER JOIN (a LEFT OUTER JOIN b ON ISCHILDNODE(a, b)) ON ISCHILDNODE(a, c) and SELECT * FROM a LEFT OUTER JOIN b ON ISCHILDNODE(a, b) LEFT OUTER JOIN c ON ISCHILDNODE(a, c) ==> SELECT * FROM (a LEFT OUTER JOIN b ON ISCHILDNODE(a, b)) LEFT OUTER JOIN c ON ISCHILDNODE(a, c) > SQL2 Left Outer Join > -------------------- > > Key: JCR-2933 > URL: https://issues.apache.org/jira/browse/JCR-2933 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core > Affects Versions: 2.2.4 > Reporter: Manfred Sattler > Assignee: Jukka Zitting > Attachments: JCR-2933-v2.patch, JCR-2933-v3.patch, JCR-2933.patch > > > Create this nodes. > def n1 = root.addNode("node1", "sling:SamplePage"); > n1.setProperty("n1prop1", "page1"); > def n2 = n1.addNode("node2", "sling:SampleContent"); > n2.setProperty("n2prop1", "content1"); > Execute this Query: > Select * from [sling:SamplePage] as page left outer join > [sling:SampleContent] as content on ISDESCENDANTNODE(content,page) where > page.n1prop1 = 'page1' and content.n2prop1 = 'content1'; > The resultset have 1 row with 2 Nodes. This OK. > Then execute this: > Select * from [sling:SamplePage] as page left outer join > [sling:SampleContent] as content on ISDESCENDANTNODE(content,page) where > page.n1prop1 = 'page1' and content.n2prop1 = 'XXXXX'; > The resultset has 1 row with 1 node. > This wrong. The result should be 0 rows. > Old Versions, prior 2.2.2 have also 0 rows as result. > Also, if nodes "n2" not exists, jackrabbit reports 1 row as result. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira