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
|
Список | 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 по дате отправления: