Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL - Mailing list pgsql-committers

From Tom Lane
Subject Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL
Date
Msg-id 22687.1374776569@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL  (Stephen Frost <sfrost@snowman.net>)
List pgsql-committers
Stephen Frost <sfrost@snowman.net> writes:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
>> If you want I'll draft something up.

> I'll take care of it, thanks for the idea!

OK.  One possibly non-obvious point is that I think the field should be
defined as "context containing associated non-constant strings"; this
would mean in particular that CopyErrorData would need to change it
to CurrentMemoryContext in the copied struct, and then ReThrowError
would change it back when restoring the data onto the error stack.
This detail is probably a no-op in current usages, but in the future it
might allow modification of a copied ErrorData while it's outside
ErrorContext, if anyone should want to do that.

Also I'd advise declaring the field as "struct MemoryContextData *"
to avoid having to include palloc.h into elog.h.

            regards, tom lane


pgsql-committers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL
Next
From: Robert Haas
Date:
Subject: pgsql: Don't use SnapshotNow in get_actual_variable_range.