forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitcd2a2ce
committed
Change have_join_order_restriction() so that we do not force a clauseless join
if either of the input relations can legally be joined to any other rels usingjoin clauses. This avoids uselessly (and expensively) considering a lot ofreally stupid join paths when there is a join restriction with a largefootprint, that is, lots of relations inside its LHS or RHS. My patch of15-Feb-2007 had been causing the code to consider joining *every* combinationof rels inside such a group, which is exponentially bad :-(. With thisbehavior, clauseless bushy joins will be done if necessary, but they'll beput off as long as possible. Per report from Jakub Ouhrabka.Backpatch to 8.2. We might someday want to backpatch to 8.1 as well, but 8.1does not have the problem for OUTER JOIN nests, only for IN-clauses, so it'snot clear anyone's very likely to hit it in practice; and the current patchdoesn't apply cleanly to 8.1.1 parent462227d commitcd2a2ce
2 files changed
+180
-63
lines changedLines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
174 | 174 |
| |
175 | 175 |
| |
176 | 176 |
| |
177 |
| - | |
| 177 | + | |
178 | 178 |
| |
179 | 179 |
| |
180 | 180 |
| |
| |||
217 | 217 |
| |
218 | 218 |
| |
219 | 219 |
| |
220 |
| - | |
| 220 | + | |
221 | 221 |
| |
222 | 222 |
| |
223 | 223 |
| |
| |||
226 | 226 |
| |
227 | 227 |
| |
228 | 228 |
| |
229 |
| - | |
| 229 | + | |
230 | 230 |
| |
231 | 231 |
| |
232 | 232 |
| |
|
0 commit comments
Comments
(0)