pgsql: Fix pull_up_sublinks' failure to handle nested pull-up opportuni

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix pull_up_sublinks' failure to handle nested pull-up opportuni
Дата
Msg-id E1QGzFU-000898-On@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
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.

Branch
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/65a7cd0e9ced21ec7ad67c11cd9a263640fe22e9

Modified Files
--------------
src/backend/optimizer/plan/subselect.c    |    5 +++
src/backend/optimizer/prep/prepjointree.c |   41 ++++++++++++++++++++++++++--
2 files changed, 43 insertions(+), 3 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Update some ALTER USER cross-references to ALTER ROLE
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix pull_up_sublinks' failure to handle nested pull-up opportuni