| From: | Richard Troy <rtroy(at)ScienceTools(dot)com> |
|---|---|
| To: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
| Cc: | Magnus Hagander <mha(at)sollentuna(dot)net>, Martijn van Oosterhout <kleptog(at)svana(dot)org>, <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: Counting records in a PL/pgsql cursor |
| Date: | 2006-11-03 14:15:21 |
| Message-ID: | Pine.LNX.4.33.0611030611470.1126-100000@denzel.in |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| 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(at)ScienceTools(dot)com, http://ScienceTools.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Merlin Moncure | 2006-11-03 14:18:51 | Re: Counting records in a PL/pgsql cursor |
| Previous Message | Rick Schumeyer | 2006-11-03 14:06:00 | I know the bad way...what is the good way? |