diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-05-02 15:56:47 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-05-02 15:56:47 -0400 |
commit | f3f0f37068e06d01e88abbf3ed596664b139f7e2 (patch) | |
tree | 0c55246f1460486f44a358d8c85e1c0c23cb2c67 /src/backend/access/gist/gistxlog.c | |
parent | 9742dfc8a55ca93205b5a08f4cf415eab3691e23 (diff) | |
download | postgresql-f3f0f37068e06d01e88abbf3ed596664b139f7e2.tar.gz postgresql-f3f0f37068e06d01e88abbf3ed596664b139f7e2.zip |
Fix pull_up_sublinks' failure to handle nested pull-up opportunities.
After finding an EXISTS or ANY sub-select that can be converted to a
semi-join or anti-join, we should recurse into the body of the sub-select.
This allows cases such as EXISTS-within-EXISTS to be optimized properly.
The original coding would leave the lower sub-select as a SubLink, which
is no better and often worse than what we can do with a join. Per example
from Wayne Conrad.
Back-patch to 8.4. There is a related issue in older versions' handling
of pull_up_IN_clauses, but they're lame enough anyway about the whole area
that it seems not worth the extra work to try to fix.
Diffstat (limited to 'src/backend/access/gist/gistxlog.c')
0 files changed, 0 insertions, 0 deletions