Re: wCTE behaviour
David Fetter <david@fetter.org>
From: David Fetter <david@fetter.org>
To: Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Yeb Havinga <yebhavinga@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2010-11-13T18:44:25Z
Lists: pgsql-hackers
On Sat, Nov 13, 2010 at 05:23:34PM +0200, Marko Tiikkaja wrote: > On 2010-11-13 5:08 PM +0200, Tom Lane wrote: > >Marko Tiikkaja<marko.tiikkaja@cs.helsinki.fi> writes: > >>On 13 Nov 2010, at 15:41, David Fetter<david@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; No. Cheers, David. -- David Fetter <david@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate