pgsql: Fix an error in make_outerjoininfo introduced by my patch of - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Fix an error in make_outerjoininfo introduced by my patch of
Date
Msg-id 20071024205433.76581754229@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Fix an error in make_outerjoininfo introduced by my patch of 30-Aug: the code
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.

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
    pgsql/src/backend/optimizer/plan:
        initsplan.c (r1.123.2.7 -> r1.123.2.8)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/initsplan.c?r1=1.123.2.7&r2=1.123.2.8)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix an error in make_outerjoininfo introduced by my patch of
Next
From: alvherre@postgresql.org (Alvaro Herrera)
Date:
Subject: pgsql: Rearrange vacuum-related bits in PGPROC as a bitmask, to better