Merlin Moncure <mmonc...@gmail.com> writes: > I'm wondering if there are any technical/standards constraints that > are behind the fencing behavior.
I think the key reason is that we don't want partial execution of DML operations (ie, INSERT/UPDATE/DELETE inside a WITH). The fencing behavior was put in originally because we foresaw adding DML later. We could possibly relax the rule for WITH SELECT only, but it would be rather inconsistent, not to mention unpleasant for all the people who are relying on the current behavior for one reason or another. Another issue is that if the CTE is scanned multiple times by the outer query, you really can't optimize it on the basis of any one call site. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers