Re: howto determine rows count to be returned by DECLARE ... SELECT ... - Mailing list pgsql-general

From Richard Huxton
Subject Re: howto determine rows count to be returned by DECLARE ... SELECT ...
Date
Msg-id 4A5383D9.7000703@archonet.com
Whole thread Raw
In response to howto determine rows count to be returned by DECLARE ... SELECT ...  (Konstantin Izmailov <pgfizm@gmail.com>)
List pgsql-general
Konstantin Izmailov wrote:
> Dear Community,
> I'm working on implementation of virtual grid using DECLARE... SELECT....
> Advantage of virtual grid is that it loads only rows that a user is willing
> to see (with FETCH).
>
> However, it is not clear how to determine max rows count that the cursor can
> return. The count is necessary for two purposes: render scrollbar and
> support jumping to the last rows in the grid.
>
> The only obvious solution is to execute SELECT COUNT(1) ... before declaring
> the cursor.
>
> Is there a better solution?

Not really. The whole point of the server is that it doesn't fetch all
the rows, and until you've fetched them all you don't know how many
there are.

> Can the cursor return total rows count or is there a way to position cursor
> to the last row? (Then the number of roundtrips to server can be less by 1
> and virtual grid can render last rows in reverse order).

See the manuals for details on FETCH.

--
   Richard Huxton
   Archonet Ltd

pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Passing a table to function
Next
From: Scott Mead
Date:
Subject: Re: Trying to find a low-cost program for Data migration and ETL