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

vargadan (JIRA) jira-events at lists.jboss.org
Wed Feb 6 11:46:03 EST 2008


EntityQuery components hold the whole untruncated resultset if maxResults property is set and the underlying dialect does not support limits 
---------------------------------------------------------------------------------------------------------------------------------------------

                 Key: JBSEAM-2590
                 URL: http://jira.jboss.com/jira/browse/JBSEAM-2590
             Project: JBoss Seam
          Issue Type: Bug
          Components: Framework
    Affects Versions: 2.0.1.GA
            Reporter: vargadan


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: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list