Thread: pgsql: Tweak joinlist creation to avoid generating useless one-element

pgsql: Tweak joinlist creation to avoid generating useless one-element

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Tweak joinlist creation to avoid generating useless one-element subproblems
when collapsing of JOIN trees is stopped by join_collapse_limit.  For instance
a list of 11 LEFT JOINs with limit 8 now produces something like
    ((1 2 3 4 5 6 7 8) 9 10 11 12)
instead of
    (((1 2 3 4 5 6 7 8) (9)) 10 11 12)
The latter structure is really only required for a FULL JOIN.
Noted while studying an example from Shane Ambler.

Tags:
----
REL8_2_STABLE

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

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