[
https://issues.apache.org/jira/browse/JCR-2933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014535#comment-13014535
]
Manfred Sattler commented on JCR-2933:
--------------------------------------
The next errorcase.:)
The result from this query is 0. should be 2.
def n1 = root.addNode("node1", "test:SamplePage");
n1.setProperty("prop1", "page1");
def n2 = root.addNode("node2", "test:SamplePage");
n2.setProperty("prop1", "page2");
def n3 = n1.addNode("node3", "test:SampleContent");
n3.setProperty("prop1", "content3");
def n4 = n2.addNode("node4", "test:SampleContent");
n4.setProperty("prop1", "content3");
sql = "Select * from [test:SamplePage] as page left outer join
[test:SampleContent] as content on ISDESCENDANTNODE(content,page) where
(page.prop1 = 'page1' and content.prop1 = 'content3') or (page.prop1='page2'
and content.prop1='content3') "
Have you ever tested with more as 3 nodes?
if the left side have many rows, the performance is very poor.
> 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