From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Marko Tiikkaja <marko(at)joh(dot)to>, Merlin Moncure <mmoncure(at)gmail(dot)com>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PL/pgSQL, RAISE and error context |
Date: | 2015-04-02 07:37:29 |
Message-ID: | CAFj8pRD6n9mPXyc+s-oQ8H-Y5s56e03LkjmVm6L1oXyt5-PX-A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2015-01-26 16:46 GMT+01:00 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
>
>
> 2015-01-26 16:14 GMT+01:00 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>
>> Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
>> > 2015-01-26 14:02 GMT+01:00 Marko Tiikkaja <marko(at)joh(dot)to>:
>> > I am thinking, so solution
>>
>> > /* if we are doing RAISE, don't report its location */
>> > if (estate->err_text == raise_skip_msg)
>> > return;
>>
>> > is too simple, and this part should be fixed. This change can be done
>> by on
>> > plpgsql or libpq side. This is bug, and it should be fixed.
>>
>> Doing this in libpq is utterly insane. It has not got sufficient context
>> to do anything intelligent. The fact that it's not intelligent is exposed
>> by the regression test changes that the proposed patch causes, most of
>> which do not look like improvements.
>>
>>
> I don't understand. There can be a overhead due useless transformation
> some data to client side. But all what it need - errcontext and errlevel is
> possible.
>
>
>> Another problem is that past requests to change this behavior have
>> generally been to the effect that people wanted *more* context suppressed
>> not less, ie they didn't want any CONTEXT lines at all on certain
>> messages. So the proposed patch seems to me to be going in exactly the
>> wrong direction.
>>
>> The design I thought had been agreed on was to add some new option to
>> plpgsql's RAISE command which would cause suppression of all CONTEXT lines
>> not just the most closely nested one. You could argue about whether the
>> behavior needs to be 100% backwards compatible or not --- if so, perhaps
>> it could be a three-way option all, none, or one line, defaulting to the
>> last for backwards compatibility.
>>
>
> I see a problem what should be default behave. When I raise NOTICE, then
> I don't need (don't would) to see CONTEXT lines, When I raise EXCEPTION,
> then I usually would to see CONTEXT lines.
>
> Cannot be solution?
>
I would to wakeup this thread.
>
> estate->err_text = stmt->elog_level == ERROR ? estate->err_text :
> raise_skip_msg ;
>
Can we do this simple change? It will produce a stackinfo for exceptions
and it will not to make mad developers by lot of useless content.
Regards
Pavel
>
> Regards
>
> Pavel
>
>
>
>
>>
>> regards, tom lane
>>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Urbański | 2015-04-02 08:32:19 | Re: libpq's multi-threaded SSL callback handling is busted |
Previous Message | Amit Kapila | 2015-04-02 07:07:24 | Re: Parallel Seq Scan |