Neil Conway <neilc@samurai.com> writes:
> This patch makes a number of cleanups to PL/PgSQL:
> - replaced all uses of malloc/strdup with palloc/pstrdup.
> ...
> (This was surprisingly easy, btw, so I am suspect that I've missed
> something fundamental -- hence the patch is marked WIP. Guidance would
> be welcome.)
I think that the existing parsing code feels free to palloc junk data
that needn't be kept around as part of the finished function definition.
It might be better to keep CurrentMemoryContext pointing at a temp
context, and translate malloc() to MemoryContextAlloc(function_context)
rather than just palloc(). (Of course you could hide this in a macro,
maybe falloc()?)
Other than that consideration, I never thought it would be complex to do
this, just tedious. As long as you're sure you caught everyplace that
needs to change ...
I don't have time to study the diff now, but your summary sounds good
on the other points.
regards, tom lane