]> granicus.if.org Git - postgresql/commit
Tweak joinlist creation to avoid generating useless one-element subproblems
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 8 Jan 2007 16:47:30 +0000 (16:47 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 8 Jan 2007 16:47:30 +0000 (16:47 +0000)
commit19f9376bf48216f421849ba3edf123de5df36364
tree9d604bf5c793d9c9d55bb96af811cf55d48186f2
parent9a9a143a980c3a4c9c825ce44abf57718f9f66cb
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.
src/backend/optimizer/plan/initsplan.c