• Tom Lane's avatar
    Remove an unsafe Assert, and explain join_clause_is_movable_into() better. · 95f4e59c
    Tom Lane authored
    join_clause_is_movable_into() is approximate, in the sense that it might
    sometimes return "false" when actually it would be valid to push the given
    join clause down to the specified level.  This is okay ... but there was
    an Assert in get_joinrel_parampathinfo() that's only safe if the answers
    are always exact.  Comment out the Assert, and add a bunch of commentary
    to clarify what's going on.
    
    Per fuzz testing by Andreas Seltenreich.  The added regression test is
    a pretty silly query, but it's based on his crasher example.
    
    Back-patch to 9.2 where the faulty logic was introduced.
    95f4e59c
restrictinfo.c 17.7 KB