BUG #18403: PL/pgSQL is reporting unexpected errors when processing DECLARE blocks with <

From PG Bug reporting form
Subject BUG #18403: PL/pgSQL is reporting unexpected errors when processing DECLARE blocks with <
Date
Msg-id 18403-7069fc75f5255783@postgresql.org
Whole thread Raw
Responses Re: BUG #18403: PL/pgSQL is reporting unexpected errors when processing DECLARE blocks with <  (Pavel Stehule <pavel.stehule@gmail.com>)
BUG #18403: PL/pgSQL is reporting unexpected errors when processing DECLARE blocks with <  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: BUG #18403: PL/pgSQL is reporting unexpected errors when processing DECLARE blocks with <  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      18403
Logged by:          Jiangshan Liu
Email address:      jiangshan.liu@tju.edu.cn
PostgreSQL version: 15.2
Operating system:   Ubuntu
Description:

Hi, I think PL/pgSQL is reporting unexpected errors when dealing with
DECLARE blocks paired with <<label>>.
I have approximated the program to a clean situation. When I execute this
program, the PL/pgSQL engine does not report errors to me:

DO $$
DECLARE
DECLARE
    var1 INT = 1;
BEGIN
    RAISE NOTICE '%', var1;
END;
$$;

But when I try to add <<label>> before the second DECLARE block, the
PL/pgSQL engine prompts me with this error message:

DO $$
DECLARE
<<label>>
DECLARE
    var1 INT = 1;
BEGIN
    RAISE NOTICE '%', var1;
END;
$$;

> ERROR:  block label must be placed before DECLARE, not after
LINE 3: <<label>>
        ^

It seems to think that I am adding <<label>> after the first DECLARE block,
which is not my intention. I do add the <<label>> before the second DECLARE
block. Why is this program being reported as an error? Is this a bug in
PL/pgSQL's handling of <<label>>?

Looking forward and thank you for your response to this question.


pgsql-bugs by date:

Previous
From: Wolfgang Walther
Date:
Subject: Re: Regression tests fail with musl libc because libpq.so can't be loaded
Next
From: Bruce Momjian
Date:
Subject: Re: Regression tests fail with musl libc because libpq.so can't be loaded