CASE control block broken by a single line comment

From: Michal Bartak <maxym(dot)srpl(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: CASE control block broken by a single line comment
Date: 2024-04-06 18:14:35
Message-ID: CAAVzF_FjRoi8fOVuLCZhQJx6HATQ7MKm=aFOHWZODFnLmjX-xA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello all

The issue described bellow exists in postgresql ver 16.2 (found in some
previous major versions)

The documentation defines a comment as:

> A comment is a sequence of characters beginning with double dashes and
> extending to the end of the line

When using such a comment within CASE control block, it ends up with an
error:

DO LANGUAGE plpgsql $$
DECLARE
t TEXT = 'a';
BEGIN
CASE t
WHEN 'a' -- my comment
THEN RAISE NOTICE 'a';
WHEN 'b'
THEN RAISE NOTICE 'b';
ELSE NULL;
END CASE;
END;$$;

ERROR: syntax error at end of input
LINE 1: "__Case__Variable_2__" IN ('a' -- my comment)
^
QUERY: "__Case__Variable_2__" IN ('a' -- my comment)
CONTEXT: PL/pgSQL function inline_code_block line 5 at CASE

With Regards
Michal Bartak

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2024-04-06 19:41:01 Re: Popcount optimization using AVX512
Previous Message Daniel Gustafsson 2024-04-06 17:47:43 Re: Cutting support for OpenSSL 1.0.1 and 1.0.2 in 17~?