[ 
https://issues.apache.org/jira/browse/JCR-3313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286519#comment-13286519
 ] 

Thomas Mueller commented on JCR-3313:
-------------------------------------

(sorry I originally added this comment to the wrong issue)

In your patch, you have the following code within the loop:

+                        names.add(columnName);
+                        assertTrue("Missing column: " + columnName, 
names.remove(columnName));

This will add and then remove the column name, leaving "names" empty. I guess 
the second line is incorrect?

                
> JCR TCK Test for expanding column names is too restrictive
> ----------------------------------------------------------
>
>                 Key: JCR-3313
>                 URL: https://issues.apache.org/jira/browse/JCR-3313
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr-tests, JCR 2.0
>    Affects Versions: 2.4.1
>            Reporter: Randall Hauch
>         Attachments: 
> 0001-JCR-3313-Changed-a-ColumnTest-test-to-only-check-for.patch
>
>
> The 
> 'org.apache.jackrabbit.test.api.query.qom.ColumnTest.testExpandColumnsForNodeType()'
>  test method issues the following query:
>     SELECT s.* FROM [nt:unstructured] AS s
> and then proceeds to check that the columns in the results set. However, a 
> problem with the expectations in the test: the test assumes that the result 
> set *only* contains columns for the single-valued, non-residual property 
> definitions for the selected node type. Clearly this is overly constraining, 
> since Section 6.7.1 of the JSR-283 specification clearly allows an 
> implementation to return additional columns (e.g., multi-valued property 
> definitions). Here's the relevant parts of this section:
>     A Query consists of:
>     ...
>     • A list of zero or more Columns to include in the tabular view of the 
> query results. 
>       If no columns are specified, the columns available in the tabular view 
> are implementation 
>       determined, but minimally include, for each selector, a column for each 
> single-valued 
>       non-residual property of the selector's node type.
> In the test's query, no columns are specified for the selector 's', so the 
> result set must to have AT A MINIMUM  the columns for the single-valued 
> non-residual property defined on the selector's node type, but an 
> implementation CAN include columns for other properties defined on the 
> selector's node type. An implementation is even allowed to include columns 
> that do not map to properties defined on the selector's node type (e.g., 
> pseudo-columns that don't really exist as properties).
> The test's query uses "nt:unstructured" for the test node type (if not 
> overridden by the test environment), and in this case an implementation 
> should be allowed to include the 'jcr:mixinTypes' multi-valued property.
> Therefore, the test is overly strict and should not fail when extra columns 
> are included. The correct behavior is to test only that the result includes 
> AT LEAST a column for each single-valued non-residual property on the 
> selector's node type.

--
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


Reply via email to