Repair breakage of rules containing INSERT ... SELECT actions, per bug
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Dec 2000 19:15:10 +0000 (19:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Dec 2000 19:15:10 +0000 (19:15 +0000)
commit1b7c31b2098565f62c10a54604665b8ddd7db08c
tree0a7c787452fd7604fc98f0319f79a2937c9b8c9a
parentcfc7ffc0fa90c98ac9cefd9082e0c762b802a991
Repair breakage of rules containing INSERT ... SELECT actions, per bug
report from Joel Burton.  Turns out that my simple idea of turning the
SELECT into a subquery does not interact well *at all* with the way the
rule rewriter works.  Really what we need to make INSERT ... SELECT work
cleanly is to decouple targetlists from rangetables: an INSERT ... SELECT
wants to have two levels of targetlist but only one rangetable.  No time
for that for 7.1, however, so I've inserted some ugly hacks to make the
rewriter know explicitly about the structure of INSERT ... SELECT queries.
Ugh :-(
src/backend/parser/analyze.c
src/backend/rewrite/rewriteDefine.c
src/backend/rewrite/rewriteHandler.c
src/backend/rewrite/rewriteManip.c
src/include/rewrite/rewriteManip.h