Re: Assertions in PL/PgSQL
От | Robert Haas |
---|---|
Тема | Re: Assertions in PL/PgSQL |
Дата | |
Msg-id | CA+TgmobfyL4FHfnkH-=td7p=972goda0_j196wj8YoRwyhEj-Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Assertions in PL/PgSQL (Amit Khandekar <amit.khandekar@enterprisedb.com>) |
Ответы |
Re: Assertions in PL/PgSQL
|
Список | pgsql-hackers |
On Mon, Sep 23, 2013 at 5:48 AM, Amit Khandekar <amit.khandekar@enterprisedb.com> wrote: >>> The assert levels sound a bit like a user might be confused by these >>> levels being present at both places: In the RAISE syntax itself, and the >>> assert GUC level. But I like the syntax. How about keeping the ASSERT >>> keyword optional ? When we have WHEN, we anyway mean that we ware asserting >>> that this condition must be true. So something like this : >>> >>> RAISE [ level ] 'format' [, expression [, ... ]] [ USING option = >>> expression [, ... ] ]; >>> RAISE [ level ] condition_name [ USING option = expression [, ... ] ]; >>> RAISE [ level ] SQLSTATE 'sqlstate' [ USING option = expression [, ... ] >>> ]; >>> RAISE [ level ] USING option = expression [, ... ]; >>> RAISE [ ASSERT ] WHEN bool_expression; >>> RAISE ; >>> >> >> I don't think so it is a good idea. WHEN clause should be independent on >> exception level. > > > I am ok with generalizing the WHEN clause across all levels. The main > proposal was for adding assertion support, so we can keep the WHEN > generalization as a nice-to-have stuff and do it only if it comes as a > natural extension in the assertion support patch. I think that's right: ISTM that at this point there are two different proposals here. 1. Allowing ASSERT as an argument to RAISE. 2. Allowing RAISE to have a WHEN clause. Those two things are logically separate. We could do either one without doing the other one. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: