Re: Counting records in a PL/pgsql cursor
Richard Troy <rtroy@sciencetools.com>
From: Richard Troy <rtroy@ScienceTools.com>
To: Merlin Moncure <mmoncure@gmail.com>
Cc: Magnus Hagander <mha@sollentuna.net>, Martijn van Oosterhout <kleptog@svana.org>, <pgsql-general@postgresql.org>
Date: 2006-11-03T14:15:21Z
Lists: pgsql-general
On Fri, 3 Nov 2006, Merlin Moncure wrote: > > > > I can deal with materializing the resultset, but I want to get away from > > the loop-a-thousand-times-doing-plus-one... > > i dont think its possible. note that you can make a refcursor inside > your plpgsql function and pass it to an sql function which can do sql > cursor operations on it -- i think :-)..haven't tried it yet. > > merlin ...If you know your application well enough, you might get away with doing a select count() with the same where clause just before entering the cursor. It _could_ of course be wrong, though! OTOH, it would be much faster. If the only down-side is occasionally giving users an incorrect count, then perhaps call it a "row estimate", and let them marvel at how accurate the estimate is most of hte time! Good luck, Richard -- Richard Troy, Chief Scientist Science Tools Corporation 510-924-1363 or 202-747-1263 rtroy@ScienceTools.com, http://ScienceTools.com/