From: | Marko Tiikkaja <marko(at)joh(dot)to> |
---|---|
To: | Amit Khandekar <amit(dot)khandekar(at)enterprisedb(dot)com> |
Cc: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Jaime Casanova <jaime(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Assertions in PL/PgSQL |
Date: | 2013-09-23 09:12:37 |
Message-ID: | 52400605.6010706@joh.to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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;
i.e. in conditionally raise the caught exception in an exception
handler. So I'd say making the ASSERT keyword optional here would be
very confusing.
Regards,
Marko Tiikkaja
From | Date | Subject | |
---|---|---|---|
Next Message | Marko Tiikkaja | 2013-09-23 09:14:23 | Re: Assertions in PL/PgSQL |
Previous Message | Pavel Stehule | 2013-09-23 09:10:28 | Re: Assertions in PL/PgSQL |