On 11/27/2010 10:28 PM, Tom Lane wrote:
> Jan Urbański<wulczer@wulczer.org> writes:
>> I noticed that PL/Python uses a simple wrapper around malloc that does
>> ereport(FATAL) if malloc returns NULL. I find it a bit harsh, don't we
>> normally do ERROR if we run out of memory?
>> And while looking at how PL/Perl does these things I find that one
>> failed malloc (in compile_plperl_function) throws an ERROR, and the rest
>> (in plperl_spi_prepare) are simply unguarded...
>> I guess PL/Python should stop throwing FATAL errors and PL/Perl should
>> get its own malloc_or_ERROR helper and start using that.
> The real question is why they're not using palloc instead.
>
>
Well, the stuff in plperl_spi_prepare needs to be allocated in a
long-lived context. We could use palloc in TopMemoryContext instead, I
guess.
cheers
andrew