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