On Sat, Nov 13, 2010 at 03:23:42PM +0100, Yeb Havinga wrote: > On 2010-11-13 14:41, David Fetter wrote: > >On Sat, Nov 13, 2010 at 02:28:35PM +0100, Yeb Havinga wrote: > >>1) the name "Common Table Expression" suggests that t must be > >>regarded as an expression, hence syntactically / proof theoretic and > >>not as a table, set of rows / model theoretic. I.e. it is not a > >>"Common Table". > >Disagree. A table never referred to in a query still exists. > >Similarly, if a normal CTE called a data-changing function but was > >nevertheless not referred to, it would still run. > with t as (select nextval('seq')) > select 1; > > does not update the sequence.
I think you've found a bug in the form of an over-aggressive optimization for the data-changing case. Cheers, David. -- David Fetter <da...@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fet...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers