Re: proposal: plpgsql - Assert statement

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: proposal: plpgsql - Assert statement
Дата
Msg-id 5512F5E7.7040508@BlueTreble.com
обсуждение исходный текст
Ответ на Re: proposal: plpgsql - Assert statement  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: proposal: plpgsql - Assert statement  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 3/25/15 1:21 AM, Pavel Stehule wrote:
> 2015-03-25 0:17 GMT+01:00 Tom Lane <tgl@sss.pgh.pa.us
> <mailto:tgl@sss.pgh.pa.us>>:
>
>     Pavel Stehule <pavel.stehule@gmail.com
>     <mailto:pavel.stehule@gmail.com>> writes:
>     > updated version with Jim Nasby's doc and rebase against last changes in
>     > plpgsql.
>
>     I started looking at this patch.  ISTM there are some pretty
>     questionable
>     design decisions in it:
>
>     1. Why create a core GUC to control a behavior that's plpgsql-only?
>     I think it'd make more sense for this to be a plgsql custom GUC
>     (ie, "plpgsql.enable_asserts" or some such name).
>
>
> This type of assertations can be implemented in any PL language - so I
> prefer global setting. But I have not strong option in this case - this
> is question about granularity - and more ways are valid.

+1

>     2. I find the use of errdetail to report whether the assertion condition
>     evaluated to FALSE or to NULL to be pretty useless.  (BTW, is
>     considering
>     NULL to be a failure the right thing?  SQL CHECK conditions consider
>     NULL
>     to be allowed ...)
>
>
> This is a question - I am happy with SQL CHECK for data, but I am not
> sure if same behave is safe for plpgsql (procedural) assert. More
> stricter behave is safer  - and some bugs in procedures are based on
> unhandled NULLs in variables. So in this topic I prefer implemented
> behave. It is some like:

+1. I think POLA here is that an assert must be true and only true to be 
valid. If someone was unhappy with that they could always coalesce(..., 
true).
-- 
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com



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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: What exactly is our CRC algorithm?
Следующее
От: Jim Nasby
Дата:
Сообщение: Re: Exposing PG_VERSION_NUM in pg_config