Tom Lane wrote:
> I thought about that and didn't like it; it may simplify the simple case
> but I think it actively gets in the way of less-simple cases. For
> example, the FIRSTCALL code might generate some transient structures
> along with ones that it wants to keep. Also, your recommended
> pseudocode allows the author to write code between the end of the
> FIRSTCALL branch and the PERCALL_SETUP call; that code will not execute
> in a predictable context if we do it this way.
>
> I'm also not happy with the implied assumption that every call to the
> function executes in the same transient context. That is true at the
> moment but I'd just as soon not see it as a wired-in assumption.
Fair enough. I'll take a shot at the necessary changes (if you want me
to). Is it OK to use fcinfo->flinfo->fn_mcxt as the long term memory
context or is there a better choice? Is funcctx->multi_call_memory_ctx a
suitable name in place of funcctx->fmctx?
Joe