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

Dan Klco commented on SLING-11230:
----------------------------------

Updated ticket as per discussion on PR#21.

I am concerned about adding new methods to the ResourceResolver interface, 
though I would be interested to get other's perspective on that. 

My thought would be to add a new package to the API specifically for query 
support and in that provide a service interface and SPI for providers to 
implement which supports:

 - Queries with limits and offsets
 - Queries returning Streams as well as Iterators
 - Queries which automatically Adapt the result to the desired type
 - A SPI class for lazy adaptation of Stream and Iterators

> Support Limit and Offset via JcrResourceProvider / findResources
> ----------------------------------------------------------------
>
>                 Key: SLING-11230
>                 URL: https://issues.apache.org/jira/browse/SLING-11230
>             Project: Sling
>          Issue Type: Improvement
>          Components: JCR
>            Reporter: Dan Klco
>            Assignee: Dan Klco
>            Priority: Minor
>
> *Problem Statement*
> In addition to not supporting global limits, there are good reasons that a 
> developer may want to return only a sub-set of the query results when 
> executing a query. For example returning the 10 latest uploaded files. 
> Currently this can be accomplished by executing a query and then only 
> iterating to the 10th item, however a much larger query set may be fetched 
> from the node store than required to service the intended use case. 
> In addition, to support paging, the current implementation would require 
> retrieving and iterating over the Resources until the desired start point is 
> found then reading the subsequent Resources.
> _However_ changing the API contract for the ResourceResolver to either add a 
> new method with the start and limit values would have a non-insignificant 
> ripple effect into the implementations, mocks and providers which would be 
> required to support this new method.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to