On 2010-02-11 01:58 +0200, Robert Haas wrote: > On Wed, Feb 10, 2010 at 6:25 PM, Marko Tiikkaja > <marko.tiikk...@cs.helsinki.fi> wrote: >> On 2010-02-11 00:50 +0200, Marko Tiikkaja wrote: >> Ok, what about the following: >> - after planning the original query, standard_planner() goes through >> the list of top-level CTEs and assigns a running number for each of >> the DML WITHs, in the order they will be executed and returns a >> list of PlannedStmts. all necessary statements wi have a flag >> signaling that the result should be stored in a tuplestore. >> - the portal keeps the list of tuplestores around and passes that >> list to every query through PlannedStmt. it keeps on executing >> the statements until it finds a PlannedStmt that doesn't want its >> results stored anywhere and then frees the list of tuplestores > > Wouldn't you'd want to stop when you ran out of PlannedStmts, not when > you hit one that didn't need its results stored? What happens if > there's an unreferenced CTE in the middle of the list?
Right, of course. >> Does this sound reasonable? And more importantly, am I going to be >> wasting my time implementing this? The 15th isn't that far away.. > > I have to admit I've been starting to have a feeling over the last > couple of days that this patch isn't going to make it for 9.0... but > obviously I'm in no position to guarantee anything one way or the > other. Please do keep us up to date on your plans, though. Unfortunately, so have I. I'll take a shot at implementing this, but if I come across any problems, I have to give up. 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