You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2014/07/01 01:25:24 UTC

[jira] [Commented] (TAP5-902) GridDataSource does not allow performing less than 2 queries if returning results

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

Howard M. Lewis Ship commented on TAP5-902:
-------------------------------------------

The issue is that prepare() needs to know the number of available rows in order to calculate values for startIndex and endIndex.  The two queries issue is unavoidable if we want to handle very large result sets.  

I'm sure a smart implementation could, for small result sets, do a single query, then provide a subset of the results.

> GridDataSource does not allow performing less than 2 queries if returning results
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-902
>                 URL: https://issues.apache.org/jira/browse/TAP5-902
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.1.0.5
>            Reporter: Dan Adams
>            Assignee: Howard M. Lewis Ship
>
> By having getAvailableRows() and prepare() separate, any implementation is forced to perform 2 queries. Many systems allow getting the results of a query and the total count in one query so that you don't have to perform 2 queries. Getting around this requires some pretty gross hacks (unless you just don't use grid at all which is unfortunate).



--
This message was sent by Atlassian JIRA
(v6.2#6252)