From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | John R Pierce <pierce(at)hogranch(dot)com> |
Cc: | Neil Conway <neilc(at)samurai(dot)com>, Denis Vlasenko <vda(at)ilport(dot)com(dot)ua>, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #1756: PQexec eats huge amounts of memory |
Date: | 2005-07-07 17:43:57 |
Message-ID: | 20050707174357.GD10035@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Thu, Jul 07, 2005 at 08:17:23AM -0700, John R Pierce wrote:
> Neil Conway wrote:
> >Denis Vlasenko wrote:
> >
> >>The same php script but done against Oracle does not have this
> >>behaviour.
> >
> >
> >Perhaps; presumably Oracle is essentially creating a cursor for you
> >behind the scenes. libpq does not attempt to do this automatically; if
> >you need a cursor, you can create one by hand.
>
> I do not understand how a cursor could be autocreated by a query like
>
> $result = pg_query($db, "SELECT * FROM big_table");
>
> php will expect $result to contain the entire table (yuck!).
Really? I thought what really happened is you had to get the results
one at a time using the pg_fetch family of functions. If that is true,
then it's possible to make the driver fake having the whole table by
using a cursor. (Even if PHP doesn't do it, it's possible for OCI to do
it behind the scenes.)
--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
Officer Krupke, what are we to do?
Gee, officer Krupke, Krup you! (West Side Story, "Gee, Officer Krupke")
From | Date | Subject | |
---|---|---|---|
Next Message | Matthew T. O'Connor | 2005-07-07 20:23:04 | Re: pg_autovacuum: short, wide tables |
Previous Message | mark reid | 2005-07-07 17:33:11 | pg_autovacuum: short, wide tables |