Re: Missing semicolumn in anonymous plpgsql block does not raise syntax error
От | David G. Johnston |
---|---|
Тема | Re: Missing semicolumn in anonymous plpgsql block does not raise syntax error |
Дата | |
Msg-id | CAKFQuwZJUc8pqt402u9VjAEgGEMR-Rbu2b5nieeJ_bUzQChrXA@mail.gmail.com обсуждение исходный текст |
Ответ на | Missing semicolumn in anonymous plpgsql block does not raise syntax error (Mor Lehr <mor.lehr@deel.com>) |
Ответы |
Re: Missing semicolumn in anonymous plpgsql block does not raise syntax error
Re: Missing semicolumn in anonymous plpgsql block does not raise syntax error |
Список | pgsql-bugs |
On Sunday, June 2, 2024, Mor Lehr <mor.lehr@deel.com> wrote:
Hi,I would like to report a potential bug in postgres 15.4, also reproduced on 15.6.The exact sequence of steps:Connect to a postgres 15.4 database and run the following statements:CREATE TABLE foo3(id serial PRIMARY key, txt text);
INSERT INTO foo3 (txt) VALUES ('aaa'),('bbb');
DO $$
DECLARE
l_cnt int;
BEGIN
l_cnt := 1
DELETE FROM foo3 WHERE id=1;
END; $$;
The output you got:
1. The script passes (no error message) even though there's a missing semicolon (;) after "l_cnt := 1"
2. The script doesn't actually delete the record from foo3
I think you just wrote the equivalent of:
l_cnt := (select 1 as delete from foo3 where id=1);
Which is a valid query.
David J.
В списке pgsql-bugs по дате отправления: