[jbossseam-issues] [JBoss JIRA] Closed: (JBSEAM-2590) EntityQuery components hold the whole untruncated resultset if maxResults property is set and the underlying dialect does not support limits

Pete Muir (JIRA) jira-events at lists.jboss.org
Tue Jul 29 17:48:52 EDT 2008


     [ https://jira.jboss.org/jira/browse/JBSEAM-2590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pete Muir closed JBSEAM-2590.
-----------------------------

    Resolution: Rejected


Use a proper database in production.

> EntityQuery components hold the whole untruncated resultset if maxResults property is set and the underlying dialect does not support limits 
> ---------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBSEAM-2590
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-2590
>             Project: Seam
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 2.0.1.GA
>            Reporter: vargadan
>             Fix For: 2.1.0.GA
>
>
> If the dialect supports limits then query objects only hold the number of rows set by the maxResults property. 
> So i.e. if the search results 10000 rows but the page size is 10, only 10 objects are kept.
> But if the dialect does not support limits (like derby) then truncation of the result list in done in EntityQuery.getResultList() which in the previous example results in the following:
> - 10000 objects are kept in EntityQuery.resultList 
> - only 10 of them is displayed in one page
> - EntityQuery.getResultList() returns EntityQuery.resultList the sublist every time when invoked
> - when paginating the query is executed for every page, so there is no point in holding all the rows.
> It causes quite a big overhead when query components are kept in conversation scope, which is the case most of the times.
> If the truncation was done just after querying against the DB, there would not be such an overhead.
> I.e. Query.truncResultList gets invoked in EntityQuery.initResultList and EntityQuery.resultList holds only the truncated list of results.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list