Dirk Rudolph created SLING-7303:
-----------------------------------

             Summary: BasicQueryLanguageProvider#queryResources does not return 
all selected fields
                 Key: SLING-7303
                 URL: https://issues.apache.org/jira/browse/SLING-7303
             Project: Sling
          Issue Type: Bug
          Components: JCR
    Affects Versions: JCR Resource 2.9.2
            Reporter: Dirk Rudolph


The method named above iterates over the values returned from the row using 
{{jcrRow.getValues()}} - this unfortunately doesn't take all capabilities of 
oak into account. To name just a few:

1) Selectors: Querying with selector like {{select p.\[jcr:score] from 
\[cq:Page] as p where contains(p.\[*], 'some text')}} returns 0.01 as score 
because the actual score is stored in {{p.jcr:score}} and the fallback is [an 
open 
todo|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/RowImpl.java#L82].

2) Advanced query functionalities: Queries containing for example rep:facet() 
are not taken into account at all, as the colNames are not iterated, only the 
values which only expose stored fields. See the following for all the cases: 
[LucenePropertyIndex.java#L1628|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.6.1/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java#L1628]

Along with this bug the unit tests for a couple of scenarios should be added to 
cover what BasicQueryLanguageProvider is doing.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to