Re: Assertions in PL/PgSQL
От | Pavel Stehule |
---|---|
Тема | Re: Assertions in PL/PgSQL |
Дата | |
Msg-id | CAFj8pRAJiY6M6S_jFzTLMNN6BUS+fuQEtwDtv3D8R6qZhk9EGA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Assertions in PL/PgSQL (Marko Tiikkaja <marko@joh.to>) |
Список | pgsql-hackers |
2013/9/23 Marko Tiikkaja <marko@joh.to>
On 9/23/13 11:12 AM, I wrote:Should've probably proofread that one. I meant:On 9/23/13 11:01 AM, Amit Khandekar 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'd expect RAISE .. WHEN ..; to be the same as:
IF .. THEN
RAISE;
END IF;
RAISE WHEN true;
would be equivalent to
IF true THEN
RAISE;
END IF;
we use a RAISE only keyword statement for resignaling, so it can be really confusing
Pavel
Regards,
Marko Tiikkaja
В списке pgsql-hackers по дате отправления: