[ 
https://issues.apache.org/jira/browse/JCR-989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christoph Kiehl updated JCR-989:
--------------------------------

    Attachment: jackrabbit-core.patch
                jackrabbit-api.patch

I finally made it. Took me a bit more than a few days however ;)

I decided to create a new interface JackrabbitQuery in jackrabbit-api which 
includes the two methods setOffset() and setLimit() which will probably be part 
of JCR 2.0. This way you don't have to cast your Query instance to QueryImpl 
but rather JackrabbitQuery. This hopefully makes it more accessible to users 
and looks less like a hack. 

((QueryImpl) query).setLimit(123)

vs

((JackrabbitQuery) query).setLimit(123)

This opens the possibility to provide an RMI implementation to support those 
two methods over RMI as well.

Everything else was quite straight forward. There are two patches: one for 
jackrabbit-api containing the interface and one for jackrabbit-core containing 
the actual code changes. WDYT?

> Modify LazyQueryResultImpl to allow resultFetchSize to be set programmatically
> ------------------------------------------------------------------------------
>
>                 Key: JCR-989
>                 URL: https://issues.apache.org/jira/browse/JCR-989
>             Project: Jackrabbit
>          Issue Type: New Feature
>          Components: query
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>            Assignee: Christoph Kiehl
>            Priority: Minor
>         Attachments: jackrabbit-api.patch, jackrabbit-core.patch
>
>
> In our application we have a search which only shows part of a query result. 
> We always know which part of the result needs to be shown. This means we know 
> in advance how many results need to be fetched. I would like to be able to 
> programmatically set resultFetchSize to minimize the number of loaded lucene 
> docs and therefore improve the performance.
> I know it is already possible to the set the resultFetchSize via the index 
> configuration, but this number is fixed and doesn't work well in environments 
> where you use paging for your results because if you set this number too low 
> the query will be executed multiple times and if you set it too high too many 
> lucene docs are loaded.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to