Thread: pgsql: Fix planner to do the right thing when a degenerate outer join

pgsql: Fix planner to do the right thing when a degenerate outer join

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Fix planner to do the right thing when a degenerate outer join (one whose
joinclause doesn't use any outer-side vars) requires a "bushy" plan to be
created.  The normal heuristic to avoid joins with no joinclause has to be
overridden in that case.  Problem is new in 8.2; before that we forced the
outer join order anyway.  Per example from Teodor.

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
    pgsql/src/backend/optimizer/geqo:
        geqo_eval.c (r1.81 -> r1.81.2.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/geqo/geqo_eval.c.diff?r1=1.81&r2=1.81.2.1)
    pgsql/src/backend/optimizer/path:
        joinrels.c (r1.81 -> r1.81.2.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinrels.c.diff?r1=1.81&r2=1.81.2.1)
    pgsql/src/backend/optimizer/util:
        joininfo.c (r1.44 -> r1.44.2.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/joininfo.c.diff?r1=1.44&r2=1.44.2.1)
    pgsql/src/include/optimizer:
        joininfo.h (r1.31 -> r1.31.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/joininfo.h.diff?r1=1.31&r2=1.31.2.1)