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)
commita51f004d29c67823e3a99e9aff141ce9333df0e2
tree940bd0aa2afb2c1fb02a12a6d4871f5caa4a78e4
parentd9466046c076b023b55d448d3cce6980dac24865
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