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

Allen Laack commented on OLINGO-1183:
-------------------------------------

Patrick, that would be great!

 

For anyone using eclipselink and an Oracle DB, the following code change might 
help in the short term:

update org.eclipse.persistence.internal.databaseaccess.DatabaseCall.java's 
getSQLString() with : 

String returnVal = sqlString;

int limit = Integer.parseInt(System.getProperty("acme.odata.rownum.max","1001");

if (returnVal.indexOf(" AND ROWNUM <= ") < 0 && limit > 0 ) {

   returnValue = returnVal.replace(" ORDER BY "," AND ROWNUM <= "+limit+" ORDER 
BY ") ; 

}

return returnValue;

/* If your use case requires a client that pages through more than 1001 
records, this will not work for you though. */

 

> 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
>            Priority: Major
>
> 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
(v7.6.3#76005)

Reply via email to