• Tom Lane's avatar
    Fix miscomputation of direct_lateral_relids for join relations. · b1738ff6
    Tom Lane authored
    If a PlaceHolderVar is to be evaluated at a join relation, but
    its value is only needed there and not at higher levels, we neglected
    to update the joinrel's direct_lateral_relids to include the PHV's
    source rel.  This causes problems because join_is_legal() then won't
    allow joining the joinrel to the PHV's source rel at all, leading
    to "failed to build any N-way joins" planner failures.
    
    Per report from Andreas Seltenreich.  Back-patch to 9.5
    where the problem originated.
    
    Discussion: https://postgr.es/m/87blfgqa4t.fsf@aurora.ydns.eu
    b1738ff6
join.out 213 KB