- Notifications
You must be signed in to change notification settings - Fork5
Commit1ca695d
committed
Fix another thinko in join_is_legal's handling of semijoins: we have to test
for the case that the semijoin was implemented within either input byunique-ifying its RHS before we test to see if it appears to match the currentjoin situation. The previous coding would select semijoin logic in situationswhere we'd already unique-ified the RHS and joined it to some unrelatedrelation(s), and then came to join it to the semijoin's LHS. That still gavethe right answer as far as the semijoin itself was concerned, but would leadto incorrectly examining only an arbitrary one of the matchable rows from theunrelated relation(s). The cause of this thinko was incorrect unification ofthe pre-8.4 logic for IN joins and OUTER joins --- the comparable case forouter joins can be handled after making the match test, but that's becausethere is nothing like the unique-ification escape hatch for outer joins.Per bug #4934 from Benjamin Reed.1 parent00f0b47 commit1ca695d
1 file changed
+17
-10
lines changedLines changed: 17 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
399 | 399 |
| |
400 | 400 |
| |
401 | 401 |
| |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
402 | 418 |
| |
403 | 419 |
| |
404 | 420 |
| |
| |||
491 | 507 |
| |
492 | 508 |
| |
493 | 509 |
| |
494 |
| - | |
495 |
| - | |
496 |
| - | |
497 | 510 |
| |
498 | 511 |
| |
499 | 512 |
| |
| |||
503 | 516 |
| |
504 | 517 |
| |
505 | 518 |
| |
506 |
| - | |
507 |
| - | |
508 |
| - | |
509 |
| - | |
510 |
| - | |
511 |
| - | |
512 | 519 |
| |
513 | 520 |
| |
514 | 521 |
| |
|
0 commit comments
Comments
(0)