forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit03d7f3b
committed
Remove an unsafe Assert, and explain join_clause_is_movable_into() better.
join_clause_is_movable_into() is approximate, in the sense that it mightsometimes return "false" when actually it would be valid to push the givenjoin clause down to the specified level. This is okay ... but there wasan Assert in get_joinrel_parampathinfo() that's only safe if the answersare always exact. Comment out the Assert, and add a bunch of commentaryto clarify what's going on.Per fuzz testing by Andreas Seltenreich. The added regression test isa pretty silly query, but it's based on his crasher example.Back-patch to 9.2 where the faulty logic was introduced.1 parent588f50f commit03d7f3b
File tree
4 files changed
+116
-7
lines changed- src
- backend/optimizer/util
- test/regress
- expected
- sql
4 files changed
+116
-7
lines changedLines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
939 | 939 |
| |
940 | 940 |
| |
941 | 941 |
| |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
942 | 950 |
| |
943 | 951 |
| |
944 | 952 |
| |
| 953 | + | |
945 | 954 |
| |
946 | 955 |
| |
947 | 956 |
| |
|
Lines changed: 32 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
651 | 651 |
| |
652 | 652 |
| |
653 | 653 |
| |
654 |
| - | |
655 |
| - | |
656 |
| - | |
657 |
| - | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
658 | 657 |
| |
659 | 658 |
| |
660 | 659 |
| |
| |||
703 | 702 |
| |
704 | 703 |
| |
705 | 704 |
| |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
706 | 715 |
| |
707 | 716 |
| |
708 | 717 |
| |
709 |
| - | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
710 | 730 |
| |
711 | 731 |
| |
712 | 732 |
| |
| |||
721 | 741 |
| |
722 | 742 |
| |
723 | 743 |
| |
724 |
| - | |
| 744 | + | |
725 | 745 |
| |
726 | 746 |
| |
727 | 747 |
| |
728 | 748 |
| |
729 | 749 |
| |
730 | 750 |
| |
731 | 751 |
| |
732 |
| - | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
733 | 758 |
| |
734 | 759 |
| |
735 | 760 |
| |
|
Lines changed: 48 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2184 | 2184 |
| |
2185 | 2185 |
| |
2186 | 2186 |
| |
| 2187 | + | |
| 2188 | + | |
| 2189 | + | |
| 2190 | + | |
| 2191 | + | |
| 2192 | + | |
| 2193 | + | |
| 2194 | + | |
| 2195 | + | |
| 2196 | + | |
| 2197 | + | |
| 2198 | + | |
| 2199 | + | |
| 2200 | + | |
| 2201 | + | |
| 2202 | + | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + | |
| 2211 | + | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
| 2220 | + | |
| 2221 | + | |
| 2222 | + | |
| 2223 | + | |
| 2224 | + | |
| 2225 | + | |
| 2226 | + | |
| 2227 | + | |
| 2228 | + | |
| 2229 | + | |
| 2230 | + | |
| 2231 | + | |
| 2232 | + | |
| 2233 | + | |
| 2234 | + | |
2187 | 2235 |
| |
2188 | 2236 |
| |
2189 | 2237 |
| |
|
Lines changed: 27 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
365 | 365 |
| |
366 | 366 |
| |
367 | 367 |
| |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
368 | 395 |
| |
369 | 396 |
| |
370 | 397 |
| |
|
0 commit comments
Comments
(0)