[ 
https://issues.apache.org/jira/browse/OPENJPA-175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12482931
 ] 

Abe White commented on OPENJPA-175:
-----------------------------------

1. Are you also going to fix InExpression to honor the DBDictionary's new in 
clause limit?
2. After reviewing the patch some more, I propose the following simplified 
version:

        // try to find a good page size.  if the known size < batch size, use
        // it.  if the batch size is set, then use that; if it's sorta close
        // to the size, then use the size / 2 to get two full pages rather
        // than a possible big one and small one
        int batch = getFetchConfiguration().getFetchBatchSize();
        int pageSize;
        if (batch < 0)
            pageSize = (int) size;
        else {
            if (batch == 0)
                batch = 50; // reasonable default
            if (size <= batch)
                pageSize = (int) size;
            else if (size <= batch * 2) {
                if (size % 2 == 0)
                    pageSize = (int) (size / 2);
                else
                    pageSize = (int) (size / 2 + 1);
            } else
                pageSize = batch;
        } 

> Eager selects by PagingResultObjectProvider may not use the FetchBatchSize
> --------------------------------------------------------------------------
>
>                 Key: OPENJPA-175
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-175
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 0.9.0, 0.9.6
>            Reporter: Srinivasa
>         Attachments: OPENJPA-175-patch.txt, OPENJPA-175-patch.txt
>
>
> The PagingResultObjectProvider during initialization does checks to determine 
> the appropriate pageSize. While this logic caps the size to 50 and addresses 
> determining an appropriate page size, it doesn't always conform to the set 
> batch size. For example with the size being 1000 and FetchBatchSize set to 
> say 500, the page size is determined to be 50 resulting in eager selects 
> happening in batches of 50 when the user expects it to be in batches of 500. 

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