Re: Assertions in PL/PgSQL - Mailing list pgsql-hackers

From Marko Tiikkaja
Subject Re: Assertions in PL/PgSQL
Date
Msg-id 52400605.6010706@joh.to
Whole thread Raw
In response to Re: Assertions in PL/PgSQL  (Amit Khandekar <amit.khandekar@enterprisedb.com>)
Responses Re: Assertions in PL/PgSQL
List 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



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Assertions in PL/PgSQL
Next
From: Marko Tiikkaja
Date:
Subject: Re: Assertions in PL/PgSQL