Repair two constraint-exclusion corner cases triggered by proving that an

Tom Lane <tgl@sss.pgh.pa.us>

Commit: cadb78330eedceafeda99bf12ac690cda773be62
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2007-05-26T18:23:02Z
Releases: 8.3.0
Repair two constraint-exclusion corner cases triggered by proving that an
inheritance child of an UPDATE/DELETE target relation can be excluded by
constraints.  I had rearranged some code in set_append_rel_pathlist() to
avoid "useless" work when a child is excluded, but overdid it and left
the child with no cheapest_path entry, causing possible failure later
if the appendrel was involved in a join.  Also, it seems that the dummy
plan generated by inheritance_planner() when all branches are excluded
has to be a bit less dummy now than was required in 8.2.
Per report from Jan Wieck.  Add his test case to the regression tests.

Files