aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistxlog.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-08-12 21:18:45 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-08-12 21:19:05 -0400
commit8cd3a7adabcd1837a1aca80f11257ef11589630f (patch)
treea59a3a9d52e77295bfa36ceaf6255381dbcdfed6 /src/backend/access/gist/gistxlog.c
parent157d40640cdd885b72f27db358ba66d12feaec7d (diff)
downloadpostgresql-8cd3a7adabcd1837a1aca80f11257ef11589630f.tar.gz
postgresql-8cd3a7adabcd1837a1aca80f11257ef11589630f.zip
Undo mistaken tightening in join_is_legal().
One of the changes I made in commit 8703059c6b55c427 turns out not to have been such a good idea: we still need the exception in join_is_legal() that allows a join if both inputs already overlap the RHS of the special join we're checking. Otherwise we can miss valid plans, and might indeed fail to find a plan at all, as in recent report from Andreas Seltenreich. That code was added way back in commit c17117649b9ae23d, but I failed to include a regression test case then; my bad. Put it back with a better explanation, and a test this time. The logic does end up a bit different than before though: I now believe it's appropriate to make this check first, thereby allowing such a case whether or not we'd consider the previous SJ(s) to commute with this one. (Presumably, we already decided they did; but it was confusing to have this consideration in the middle of the code that was handling the other case.) Back-patch to all active branches, like the previous patch.
Diffstat (limited to 'src/backend/access/gist/gistxlog.c')
0 files changed, 0 insertions, 0 deletions