Re: Writeable CTEs and empty relations
Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>
From: Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-02-10T22:50:48Z
Lists: pgsql-hackers
On 2010-02-10 23:57 +0200, Tom Lane wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> If the executor has buried in it the assumption that the snapshot >> can't change after startup, then does that mean that we need to start >> up and shut down the executor for each subquery? > > Yes, I think so. That's the way it's always worked in the past; > see for example PortalRunMulti() and ProcessQuery(). I think trying > to change that is a high-risk, low-reward activity. > > This probably means that the planner output for queries involving > writeable CTEs has to be a separate PlannedStmt per such CTE. I'm looking at this, but I can't think of any good way of associating the tuplestores from PortalRunMulti() with the correct CTEs. Any ideas? Regards, Marko Tiikkaja