pgsql: Prevent improper reordering of antijoins vs. outer joins.
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | pgsql: Prevent improper reordering of antijoins vs. outer joins. |
| Дата | |
| Msg-id | E1Ym6wW-0001ca-1a@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Prevent improper reordering of antijoins vs. outer joins. An outer join appearing within the RHS of an antijoin can't commute with the antijoin, but somehow I missed teaching make_outerjoininfo() about that. In Teodor Sigaev's recent trouble report, this manifests as a "could not find RelOptInfo for given relids" error within eqjoinsel(); but I think silently wrong query results are possible too, if the planner misorders the joins and doesn't happen to trigger any internal consistency checks. It's broken as far back as we had antijoins, so back-patch to all supported branches. Branch ------ REL9_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/3e47d0b2a300305a195ac7a6d8ebd6ff5291b7b4 Modified Files -------------- src/backend/optimizer/plan/initsplan.c | 7 +++--- src/test/regress/expected/join.out | 42 ++++++++++++++++++++++++++++++++ src/test/regress/sql/join.sql | 17 +++++++++++++ 3 files changed, 63 insertions(+), 3 deletions(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера