• Tom Lane's avatar
    Fix an error in make_outerjoininfo introduced by my patch of 30-Aug: the code · 3ef18797
    Tom Lane authored
    neglected to test whether an outer join's join-condition actually refers to
    the lower outer join it is looking at.  (The comment correctly described what
    was supposed to happen, but the code didn't do it...)  This often resulted in
    adding an unnecessary constraint on the join order of the two outer joins,
    which was bad enough.  However, it also seems to expose a performance
    problem in an older patch (from 15-Feb): once we've decided that there is a
    join ordering constraint, we will start trying clauseless joins between every
    combination of rels within the constraint, which pointlessly eats up lots of
    time and space if there are numerous rels below the outer join.  That probably
    needs to be revisited :-(.  Per gripe from Jakub Ouhrabka.
    3ef18797
initsplan.c 45.6 KB