[
https://issues.apache.org/jira/browse/JCR-3089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122012#comment-13122012
]
Alex Parvulescu commented on JCR-3089:
--------------------------------------
yes, I agree.
when I said test scenarios I was referring to, as you very well put it:
"returns the expected result".
the patch came with a few tests but It did not cover the 'outer join' scenario,
as Lukas pointed out.
the point of the comment was not to find different ways to test, but to find
(and add) useful tests.
I may be wrong but before the patch there were no sql2 query tests. As sql2
would eventually be the default query engine, I'd say welcome to anybody
contributing to the test effort, even if it's just scenarios.
...as you can see I'm a big fan of sql2 :)
> javax.jcr.RepositoryException when a JOIN SQL2 query is send via Davex and
> has results
> --------------------------------------------------------------------------------------
>
> Key: JCR-3089
> URL: https://issues.apache.org/jira/browse/JCR-3089
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-jcr-server, jackrabbit-spi2dav
> Reporter: Lukas Kahwe Smith
> Assignee: Alex Parvulescu
> Fix For: 2.3.1
>
> Attachments: JCR-3089-v2.patch, JCR-3089.patch
>
>
> see the following thread for details:
> http://www.mail-archive.com/[email protected]/msg17975.html
> assuming a data structure as follows:
> /foo [nt:unstructured]
> /foo/bar [nt:unstructured]
> /foo/bar@lala = huii (lala is string property of bar)
> /ding [nt:unstructured]
> /ding@dong = ##barUUID### (dong is a property of type "Reference")
> then the following code will throw an exception:
> DavexClient Client = new DavexClient(url);
> Repository repo = Client.getRepository();
> Credentials sc = new SimpleCredentials("admin","admin".toCharArray());
> Session s = repo.login(sc,workspace);
> QueryManager qm = s.getWorkspace().getQueryManager();
> String sql = "SELECT data.* FROM [nt:unstructured] AS data WHERE data.lala=
> 'huii'";
> sql = "SELECT * FROM [nt:unstructured] AS data INNER JOIN [nt:unstructured]
> AS referring ON referring.[dong] = data.[jcr:uuid] WHERE data.lala = 'huii'";
> sql = "SELECT * FROM [nt:unstructured] AS data INNER JOIN [nt:unstructured]
> AS referring ON ISDESCENDANTNODE(data, referring) WHERE data.lala = 'huii'";
> Query query = qm.createQuery(sql, Query.JCR_SQL2);
> QueryResult qr = query.execute();
> The first query works just fine and I can iterate over the result. Neither
> the second nor the third query works.
> In both cases I end up with a javax.jcr.RepositoryException. Note the
> exception only happens if the query returns results. Aka a join will work
> just fine if it matches no rows.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira