On Tue, Sep 23, 2014 at 1:04 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Hm, probably the same thing then as
> http://www.postgresql.org/message-id/2326379.AOuSqtNClj@klinga.prans.org
Yes, both cases are similar, with the use of two levels of relations
introducing.
> I was poking at that one earlier this evening. The immediate fix is clear
> enough (generate_implied_equalities_for_column should be considering
> "grandparent" appendrels), but I'm not sure yet whether we need to change
> the logic in generate_join_implied_equalities.
I could reproduce it as well with the scripts previously sent, and
this regression has been introduced by a2db7b7 on REL9_3_STABLE,
backpatched from a87c729 on master. Hence I imagine that this is
reproducible down to 9.1. Also, looking at the code the additions in
add_child_rel_equivalences to bypass the case where parent is not
mentioned in equivclass seems to be the root cause of the regression.
I have not come up yet with a patch fixing this issue though without
introducing regressions in other code paths... But I have been able at
least to come up with the attached minimalistic example to reproduce
the problem. Something similar to that could be part of a regression
test to add in the final patch.
Regards,
--
Michael