On Tue, 10 Feb 2004, Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Christoffer Gurell wrote:
> >> After declaring a cursor. Is there any way you can check the number of rows
> >> that cursor contains ??
>
> > Yes, you can MOVE ALL in the cursor and look at the return status,
>
> Note however that this is *not* a cheap operation. You might as well
> fetch the data, because it's going to cost nearly as much as FETCH.
>
> (Worse, in pre-7.4 versions, MOVE BACKWARDS ALL is also nearly as
> expensive as FETCH, so that getting the number of rows and then fetching
> the data will cost you close to 3x the runtime of the FETCH alone.)
At that point wouldn't a select count(*) from table where...
be cheaper?