- Notifications
You must be signed in to change notification settings - Fork5
Commitcfe30a7
committed
Undo mistaken tightening in join_is_legal().
One of the changes I made in commit8703059 turns out not to havebeen such a good idea: we still need the exception in join_is_legal() thatallows a join if both inputs already overlap the RHS of the special joinwe're checking. Otherwise we can miss valid plans, and might indeed failto find a plan at all, as in recent report from Andreas Seltenreich.That code was added way back in commitc171176, but I failed toinclude a regression test case then; my bad. Put it back with a betterexplanation, and a test this time. The logic does end up a bit differentthan before though: I now believe it's appropriate to make this checkfirst, thereby allowing such a case whether or not we'd consider theprevious SJ(s) to commute with this one. (Presumably, we already decidedthey did; but it was confusing to have this consideration in the middleof the code that was handling the other case.)Back-patch to all active branches, like the previous patch.1 parentccc4c07 commitcfe30a7
File tree
3 files changed
+89
-5
lines changed- src
- backend/optimizer/path
- test/regress
- expected
- sql
3 files changed
+89
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
470 | 470 | | |
471 | 471 | | |
472 | 472 | | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
478 | 497 | | |
479 | 498 | | |
480 | 499 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3563 | 3563 | | |
3564 | 3564 | | |
3565 | 3565 | | |
| 3566 | + | |
| 3567 | + | |
| 3568 | + | |
| 3569 | + | |
| 3570 | + | |
| 3571 | + | |
| 3572 | + | |
| 3573 | + | |
| 3574 | + | |
| 3575 | + | |
| 3576 | + | |
| 3577 | + | |
| 3578 | + | |
| 3579 | + | |
| 3580 | + | |
| 3581 | + | |
| 3582 | + | |
| 3583 | + | |
| 3584 | + | |
| 3585 | + | |
| 3586 | + | |
| 3587 | + | |
| 3588 | + | |
| 3589 | + | |
| 3590 | + | |
| 3591 | + | |
| 3592 | + | |
| 3593 | + | |
| 3594 | + | |
| 3595 | + | |
| 3596 | + | |
| 3597 | + | |
| 3598 | + | |
| 3599 | + | |
| 3600 | + | |
| 3601 | + | |
| 3602 | + | |
| 3603 | + | |
| 3604 | + | |
| 3605 | + | |
| 3606 | + | |
| 3607 | + | |
| 3608 | + | |
| 3609 | + | |
| 3610 | + | |
| 3611 | + | |
3566 | 3612 | | |
3567 | 3613 | | |
3568 | 3614 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1108 | 1108 | | |
1109 | 1109 | | |
1110 | 1110 | | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
1111 | 1130 | | |
1112 | 1131 | | |
1113 | 1132 | | |
| |||
0 commit comments
Comments
(0)