From: | PetSerAl <petseral(at)gmail(dot)com> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | PL/pgSQL THEN binging in condition |
Date: | 2024-09-17 18:03:52 |
Message-ID: | CAKygsHSpPYjBuh=02bdwSHMSa2RZwwn7fxUKirGYB67SMj1Sbg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
postgres=# SELECT version();
version
------------------------------------------------------------
PostgreSQL 16.4, compiled by Visual C++ build 1940, 64-bit
(1 row)
postgres=# DO $$
postgres$# BEGIN
postgres$# IF
postgres$# CASE
postgres$# WHEN TRUE
postgres$# THEN TRUE
postgres$# END
postgres$# THEN
postgres$# NULL;
postgres$# END IF;
postgres$# END
postgres$# $$;
ERROR: syntax error at end of input
LINE 5: WHEN TRUE
^
It seems error here because first THEN bound to IF statement rather than
CASE expression. Workaround here would be using parenthesis:
postgres=# DO $$
postgres$# BEGIN
postgres$# IF
postgres$# (CASE
postgres$# WHEN TRUE
postgres$# THEN TRUE
postgres$# END)
postgres$# THEN
postgres$# NULL;
postgres$# END IF;
postgres$# END
postgres$# $$;
DO
If behavior can not be changed for compatibility reasons, it at least can
use better error message.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2024-09-17 18:45:55 | Re: PL/pgSQL THEN binging in condition |
Previous Message | Tom Lane | 2024-09-17 14:18:45 | Re: BUG #18621: postgres_fdw cannot work with tables that use schemaless functions in triggers |