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

Francesco longhitano updated OLINGO-1183:
-----------------------------------------
    Description: 
If i using the paging with $top, $skip and $inlinecount=allpages the class 
JPAPage load all entities from DB (howewer filtered by the where), no setting 
on top and skip for paginated query directly from db. That's a problem if the 
query return many result (in our case ~100000 of complex entity).

I'm looking into the code and the problem is not so easy to resolve. The 
inlinecount is managed by ODataJPAResponseBuilderDefault, as an size() called 
on the result of query. Then if there is top or skip the class do a filter on 
the result list, to return to client only the correct entities. So even if i 
correct set top and skip on JPAPage modifing the method handlePaging using an 
custom implementation of JPAProcessor, then the result __count show an wrong 
result.

Example URL
Entities?$skip=10&$top=10&$inlinecount=allpages

  was:
If i using the paging with $top, $skip and $inlinecount=allpages the class 
JPAPage load all entities from DB (howewer filter by the where), no setting on 
top and skip for paginated query directly from db. That's a problem if the 
query return many result (in our case ~100000 of complex entity).

I'm looking into the code and the problem is not so easy to resolve. The 
inlinecount is managed by ODataJPAResponseBuilderDefault, as an size() called 
on the result of query. Then if there is top or skip the class do a filter on 
the result list. So even if i correct set top and skip on JPAPage modifing the 
method handlePaging using an custom implementation of JPAProcessor, then the 
result __count show an wrong result.

Example URL
Entities?$skip=10&$top=10&$inlinecount=allpages


> JPAPage - Load all entities from DB, no paging on DB query
> ----------------------------------------------------------
>
>                 Key: OLINGO-1183
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1183
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-jpa
>    Affects Versions: V2 2.0.8, V2 2.0.9
>            Reporter: Francesco longhitano
>
> If i using the paging with $top, $skip and $inlinecount=allpages the class 
> JPAPage load all entities from DB (howewer filtered by the where), no setting 
> on top and skip for paginated query directly from db. That's a problem if the 
> query return many result (in our case ~100000 of complex entity).
> I'm looking into the code and the problem is not so easy to resolve. The 
> inlinecount is managed by ODataJPAResponseBuilderDefault, as an size() called 
> on the result of query. Then if there is top or skip the class do a filter on 
> the result list, to return to client only the correct entities. So even if i 
> correct set top and skip on JPAPage modifing the method handlePaging using an 
> custom implementation of JPAProcessor, then the result __count show an wrong 
> result.
> Example URL
> Entities?$skip=10&$top=10&$inlinecount=allpages



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

Reply via email to