Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL
Дата
Msg-id CAOuzzgo3KbxAyWcorDxKPRSy9nEE_X659O8fSEeFFGPjWnhWGw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-committers
Tom,

On Wednesday, July 24, 2013, Tom Lane wrote:
Stephen Frost <sfrost@snowman.net> writes:
> Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL

I don't find it to be a terribly good idea that GetErrorContextStack
does FlushErrorState().  Doesn't that imply that it can't safely be
used from inside error processing, which is more or less exactly
where it is intended to be used?  I would certainly think it surprising
that that call destroys all information about the error.

It's not intended (nor allowed, if I got it right) in an error context. I will admit that it's not a wonderful situation to have it using the error handling's internal components like this, but that's also where it has to go for the callbacks to get the information needed. 
 
For the same reason, it's rather dubious that it uses ErrorContext as
working space.  There might not be a heck of a lot of space left there,
and I don't think that construction of this string really counts as
error processing.  It seems to me to be something done outside the error
subsystem.

My concerns and thoughts around this were what may happen if a callback throws an error and it still makes me a bit nervous but It seems like it should work. Still, if there's a reasonable way to collect the stack info without going through the error callbacks, without implementing a duplicate system, I'm all ears.  

Thanks!

Stephen

В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQL