Re: LOCK TABLE is not allowed in a non-volatile function

Поиск
Список
Период
Сортировка
От Eliot Gable
Тема Re: LOCK TABLE is not allowed in a non-volatile function
Дата
Msg-id CAD-6L_U3MYkVjKKpXv8-sPw-B8aZHBnP1mwn1AFYxMyaOdZDEA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: LOCK TABLE is not allowed in a non-volatile function  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On Wed, Apr 18, 2012 at 3:47 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Eliot Gable <egable+pgsql-general@gmail.com> writes:
> On Wed, Apr 18, 2012 at 1:01 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> However, there still might be an issue, because the CONTEXT trace that
>> you showed certainly seemed to point where you thought it did.

> After re-reading the LOCK modes and realizing that ACCESS SHARE is not the
> same as SHARE, I believe you are correct; the only issue seems to be in the
> CONTEXT trace failing to point out that the error occurred three function
> calls deeper than what was reported. It seems it reported it in the first
> function where the EXCEPTION handling was set up.

Oh!  Yes, that's to be expected, because so far as Postgres is concerned
it's logging the location of the RAISE WARNING command.  You've only
told it to print the SQLERRM string, and nothing else:

RAISE WARNING 'An error occurred while trying to rotate the live user
activity records; code %: %', SQLSTATE, SQLERRM;

As of 9.2 there is a way to get the context string for the original
error (GET STACKED DIAGNOSTICS) which you could then include in the
RAISE message.  That hasn't made it to any released versions
unfortunately.

                       regards, tom lane

Is there a way to print out context in 9.0.1 when doing exception handling and raising a message? Right now, all I get is my error code, description of the error, and no idea what the specific statement is that is generating the error in the first place. Am I missing something, or is this just not possible in 9.0.1?

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

Предыдущее
От: Bartosz Dmytrak
Дата:
Сообщение: Explain verbose query with CTE
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Explain verbose query with CTE