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