The following bug has been logged on the website: Bug reference: 6686 Logged by: David Carlos Manuelda Email address: stormb...@gmail.com PostgreSQL version: 9.1.4 Operating system: Gentoo Linux Description:
I will provide a really simple example: Suppose we have a table CREATE TABLE test(i INTEGER); Let's have a value: INSERT INTO test(i) VALUES (1); And a function CREATE OR REPLACE FUNCTION foo() RETURNS INTEGER AS $$ DECLARE dummy INTEGER; BEGIN dummy=(SELECT MAX(id) FROM test); -- VALID dummy=(UPDATE test SET i=i+10 RETURNING i); -- NOT VALID.. WHY? dummy=(INSERT INTO test(i) VALUES (10) RETURNING i); -- NOT VALID.. WHY? RETURN dummy; END; $$ Language 'plpgsql' VOLATILE; I get syntax error in both commented as not valid I think that since all queries actually returns a expected value, and since the function is not marked as stable, there is no reason for me to block that from happen. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs