Repair bug reported by ldm@apartia.com: Append nodes, which don't
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Jun 2000 20:50:50 +0000 (20:50 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Jun 2000 20:50:50 +0000 (20:50 +0000)
commit2190cf2926961b43e7c2d4415db23c1ccf4c026e
tree2c54d27e857187b55c8d84a8bc817ed2ca78f033
parent54bce381a7b4802b7516de7876e026e757779235
Repair bug reported by ldm@apartia.com: Append nodes, which don't
actually use their targetlist, are given a targetlist that is just a
pointer to the first appended plan's targetlist.  This is OK, but what
is not OK is that any sub-select expressions in said tlist were being
entered in the subPlan lists of both the Append and the first appended
plan.  That led to two startup and two shutdown calls for the same
plan node at exec time, which led to crashes.  Fix is to not generate
a list of subPlans for an Append node.  Same problem and fix apply
to other node types that don't have a real, functioning targetlist:
Material, Sort, Unique, Hash.
src/backend/optimizer/plan/setrefs.c