pgsql: Make reduce_outer_joins() smarter about semijoins.
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | pgsql: Make reduce_outer_joins() smarter about semijoins. |
| Дата | |
| Msg-id | E1PjfVC-0008QJ-4S@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 ------ REL8_4_STABLE Details ------- http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c1da1f45a1033fecd888c56568db5ca9b1c050d2 Modified Files -------------- src/backend/optimizer/prep/prepjointree.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера