Counting records in a PL/pgsql cursor

Magnus Hagander <mha@sollentuna.net>

From: "Magnus Hagander" <mha@sollentuna.net>
To: <pgsql-general@postgresql.org>
Date: 2006-11-02T21:43:58Z
Lists: pgsql-general
Is there any way to count how many hits I got in a cursor in PL/pgsql? 

I have a function that will "window" through the result of a (large)
query based on two parameters, but I also want to return the number of
hits to the client. Right now I'm looping through the entire cursor and
incrementing a local variable, which I later return (along with the
first <n> records in the resultset) to the client. But this seems
horribly inefficient... I'd just like to ask "how many rows are in this
cursor", is there a way to do that without looping through them all?


//Magnus