Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> Also, can someone tell my why we use malloc in plpgsql?
Plain palloc() won't do because the compiled tree for the function needs
to outlive the current query. However, malloc() is not cool. Really,
these structures ought to be built in a memory context created specially
for each function --- then it'd be possible to reclaim the memory if the
function is deleted or we realize we need to invalidate its compiled
tree.
I've had this in mind to do for awhile, but haven't gotten to it.
Do you want to put it on TODO?
regards, tom lane