2010/9/15 Tom Lane <t...@sss.pgh.pa.us>: > Hitoshi Harada <umi.tan...@gmail.com> writes: >> 2010/9/15 Tom Lane <t...@sss.pgh.pa.us>: >>> Why is it so difficult to do this correctly? > >> Because INSERT INTO ... (SELECT|VALUES) is already a collection of >> kludge (as comments say). It was possible to parse the two WITHs >> separately, but it results in ambiguous naming issue; >> parseWithClause() asserts there's only one WITH clause in the Stmt and >> detects duplicated CTE name in it. > > Well, I would think that the no-duplication rule applies to each WITH > list separately, not both together. If you do something like > > with t1 as (select * from foo) > select * from > (with t2 as (select * from foo) > select * from t1, t2) ss; >
Well, I didn't know it is allowed. That would look like the way to go. Regards, -- Hitoshi Harada -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers