Re: Recursive calls to functions that return sets - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Recursive calls to functions that return sets
Date
Msg-id 44218B13.6020909@dunslane.net
Whole thread Raw
In response to Re: Recursive calls to functions that return sets  (Thomas Hallgren <thomas@tada.se>)
List pgsql-hackers
Thomas Hallgren wrote:

> Recursive calls works in PL/Java. No problem there. But the larger the 
> set, the more memory it consumes. Do I read your answers correctly if 
> I conclude this is a known limitation when SPI is used? I.e. there's 
> no way to stream one row at a time without ever building the full set?


plperl stashes the results in a tuplestore object, which spills to disk. 
So memory use is not unbounded. Before 8.1 we had no return_next and no 
intermediate tuplestore, so we had serious memory problems with 
returning large sets.

As for SPI calls, we also had problems there but now we provide a cursor 
interface that works much more nicely.

cheers

andrew





pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Recursive calls to functions that return sets
Next
From: Robert Treat
Date:
Subject: Re: 8.2 planning features