• Tom Lane's avatar
    Don't make FK-based selectivity estimates in inheritance situations. · 77067106
    Tom Lane authored
    The foreign-key-aware logic for estimation of join sizes (added in commit
    100340e2) blindly tried to apply the concept to rels that are actually
    parents of inheritance trees.  This is just plain wrong so far as the
    referenced relation is concerned, since the inheritance scan may well
    produce lots of rows that are not participating in the constraint.  It's
    wrong for the referencing relation too, for the same reason; although on
    that end we could conceivably detect whether all members of the inheritance
    tree have equivalent FK constraints pointing to the same referenced rel,
    and then proceed more or less as we do now.  But pending somebody writing
    code to do that, we must disable this, because it's producing completely
    silly estimates when there's an FK linking the heads of inheritance trees.
    
    Per bug #14404 from Clinton Adams.  Back-patch to 9.6 where the new
    estimation logic came in.
    
    Report: <20161028200412.15987.96482@wrigleys.postgresql.org>
    77067106
plancat.c 51.2 KB