BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails
От | David Fetter |
---|---|
Тема | BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails |
Дата | |
Msg-id | 201106172246.p5HMk2Qs041851@wwwmaster.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails
Re: BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails |
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 6067 Logged by: David Fetter Email address: dfetter@vmware.com PostgreSQL version: 9.0.4 Operating system: Linux Description: In PL/pgsql, EXISTS(SELECT ... INTO...) fails Details: Here's some example code that reproduces the problem: CREATE OR REPLACE FUNCTION foo() RETURNS void LANGUAGE plpgsql AS $$ DECLARE i int; BEGIN IF EXISTS (SELECT 1 INTO STRICT i) THEN RAISE NOTICE '%', a; END IF; RETURN; END; $$; ERROR: syntax error at or near "i" LINE 8: IF EXISTS (SELECT 1 INTO STRICT i) THEN ^ This came up in a case where there was an IF block that checked some conditions before checking whether there was a row. If it found a row, it was supposed to use it in an EXCEPTION. Instead, I had to do the query unconditionally, check the FOUND block in a separate nested IF statement, and generally uglify the code. Not everybody in IRC agreed that this is a bug, though.
В списке pgsql-bugs по дате отправления: