Thread: Re: Confused coding in PLy_traceback()

Re: Confused coding in PLy_traceback()

From
Tom Lane
Date:
I wrote:
> So I propose the attached.  For ease of review, I've not re-indented
> the code that needs to move inside PG_TRY blocks.  Also, I dropped the
> logic about pfree'ing the string buffers in PLy_elog_impl's PG_FINALLY
> block: that doesn't seem necessary, and continuing to do it would
> require making those things volatile which is notationally messy.

Pushed.  After sleeping on it I decided that removing the pfree's
would be a poor tradeoff, as it's not clear how long those allocations
might survive otherwise.  The extra "volatile" markers for "xmsg"
and "tbmsg" aren't that big a deal.  Trying to mark "emsg" as volatile
would be problematic because none of the StringInfo routines are set
up to allow that, but it shouldn't be a problem because that struct
will surely be on the stack.

            regards, tom lane