• Tom Lane's avatar
    Fix wrong order of operations in inheritance_planner. · 4a2994f0
    Tom Lane authored
    When considering a partitioning parent rel, we should stop processing that
    subroot as soon as we've done adjust_appendrel_attrs and any securityQuals
    updates.  The rest of this is unnecessary, and indeed adding duplicate
    subquery RTEs to the subroot is *wrong*.  As the code stood, the children
    of that partition ended up with two sets of copied subquery RTEs, confusing
    matters greatly.  Even more hilarity ensued if all of the children got
    excluded by constraint exclusion, so that the extra RTEs didn't make it
    back into the parent rtable.
    
    Per fuzz testing by Andreas Seltenreich.  Back-patch to v11 where this
    got broken (by commit 0a480502, it looks like).
    
    Discussion: https://postgr.es/m/87va8g7vq0.fsf@ansel.ydns.eu
    4a2994f0
planner.c 226 KB