pgsql: Make reduce_outer_joins() smarter about semijoins.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Make reduce_outer_joins() smarter about semijoins.
Дата
Msg-id E1PjfVC-0008QH-2d@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Make reduce_outer_joins() smarter about semijoins.

reduce_outer_joins() mistakenly treated a semijoin like a left join for
purposes of deciding whether not-null constraints created by the join's
quals could be passed down into the join's left-hand side (possibly
resulting in outer-join simplification there).  Actually, semijoin works
like inner join for this purpose, ie, we do not need to see any rows that
can't possibly satisfy the quals.  Hence, two-line fix to treat semi and
inner joins alike.  Per observation by Andres Freund about a performance
gripe from Yazan Suleiman.

Back-patch to 8.4, since this oversight has been there since the current
handling of semijoins was implemented.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9688c4e6f1516d2fc0db5d200112c4d91538878d

Modified Files
--------------
src/backend/optimizer/prep/prepjointree.c |   11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)


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

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: pgsql: Add option to include WAL in base backup
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Make reduce_outer_joins() smarter about semijoins.