On 2010-11-13 5:08 PM +0200, Tom Lane wrote:
Marko Tiikkaja<marko.tiikk...@cs.helsinki.fi>  writes:
On 13 Nov 2010, at 15:41, David Fetter<da...@fetter.org>  wrote:
Similarly, if a normal CTE called a data-changing function but was
nevertheless not referred to, it would still run.

Actually, it wouldn't.

Indeed, and that was considered a feature when we did it.  I think
that having wCTEs behave arbitrarily differently on this point
might be a bad idea.

So these queries would behave differently?

WITH t AS (DELETE FROM foo RETURNING *)
SELECT 1 WHERE false;

WITH t AS (DELETE FROM foo RETURNING *)
SELECT 1 FROM t LIMIT 0;


Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to