From: | Neil Conway <neilc(at)samurai(dot)com> |
---|---|
To: | Pavel Stehule <stehule(at)kix(dot)fsv(dot)cvut(dot)cz> |
Cc: | pgsql-patches(at)postgresql(dot)org, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pl/pgsql: END verbosity [patch] |
Date: | 2005-07-01 12:40:31 |
Message-ID: | 42C539BF.8040505@samurai.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Pavel Stehule wrote:
> this patch allows optional using label with END and END LOOP. Ending label
> has only informational value, but can enhance readability large block and
> enhance likeness with Oracle.
>
> <<main>>LOOP
> ...
> ...
> END LOOP<<main>>;
Attached is a revised version of this patch. Changes / comments:
- AFAICS Oracle's syntax is actually
<<label>> LOOP
...
END LOOP label;
i.e. the ending block label isn't enclosed in <<>>. I've adjusted the
patch accordingly.
- your patch broke EXIT and CONTINUE, as running the regression tests
would have made clear.
- yyerror() will set plpgsql_error_lineno, so you needn't do it
yourself. I changed it to use ereport(ERROR) anyway, as it seems a bit
more appropriate. I'm not quite happy with the error message text:
ERROR: end label "outer_label" differs from block's label "inner_label"
CONTEXT: compile of PL/pgSQL function "end_label3" near line 6
ERROR: end label "outer_label" specified for unlabelled block
CONTEXT: compile of PL/pgSQL function "end_label4" near line 5
suggestions for improvement are welcome.
BTW, I notice that some but not all the call sites of ereport(ERROR) in
PL/PgSQL's gram.y set plpgsql_error_lineno. Is there a reason for this?
Barring any objections, I'll apply the attached patch to CVS tomorrow.
-Neil
Attachment | Content-Type | Size |
---|---|---|
verbose-6.diff | text/plain | 21.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2005-07-01 12:49:52 | Re: [PATCHES] Users/Groups -> Roles |
Previous Message | Gavin Sherry | 2005-07-01 10:47:06 | Re: enable/disable trigger (Re: Fwd: [HACKERS] Open items) |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2005-07-01 12:49:52 | Re: [PATCHES] Users/Groups -> Roles |
Previous Message | Gavin Sherry | 2005-07-01 10:47:06 | Re: enable/disable trigger (Re: Fwd: [HACKERS] Open items) |