Re: BUG #1756: PQexec eats huge amounts of memory - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #1756: PQexec eats huge amounts of memory
Date
Msg-id 20050707174357.GD10035@alvh.no-ip.org
Whole thread Raw
In response to Re: BUG #1756: PQexec eats huge amounts of memory  (John R Pierce <pierce@hogranch.com>)
Responses Re: BUG #1756: PQexec eats huge amounts of memory  (Denis Vlasenko <vda@ilport.com.ua>)
List 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")

pgsql-bugs by date:

Previous
From: John R Pierce
Date:
Subject: Re: Sun inline assembler ...
Next
From: mark reid
Date:
Subject: pg_autovacuum: short, wide tables