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; there's no expectation that the WITH clauses can't both define the same name. 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