Re: pgsql: Fix incorrect handling of join clauses pushed into parameterized

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: pgsql: Fix incorrect handling of join clauses pushed into parameterized
Дата
Msg-id CAA8=A78B1=X0HtGiUquTNQZ26PW_xuiZ4qSuxfQ=udkA2Fry2w@mail.gmail.com
обсуждение исходный текст
Ответ на pgsql: Fix incorrect handling of join clauses pushed intoparameterized  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-committers
On Thu, Apr 19, 2018 at 3:49 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Fix incorrect handling of join clauses pushed into parameterized paths.
>
> In some cases a clause attached to an outer join can be pushed down into
> the outer join's RHS even though the clause is not degenerate --- this
> can happen if we choose to make a parameterized path for the RHS.  If
> the clause ends up attached to a lower outer join, we'd misclassify it
> as being a "join filter" not a plain "filter" condition at that node,
> leading to wrong query results.
>
> To fix, teach extract_actual_join_clauses to examine each join clause's
> required_relids, not just its is_pushed_down flag.  (The latter now
> seems vestigial, or at least in need of rethinking, but we won't do
> anything so invasive as redefining it in a bug-fix patch.)
>
> This has been wrong since we introduced parameterized paths in 9.2,
> though it's evidently hard to hit given the lack of previous reports.
> The test case used here involves a lateral function call, and I think
> that a lateral reference may be required to get the planner to select
> a broken plan; though I wouldn't swear to that.  In any case, even if
> LATERAL is needed to trigger the bug, it still affects all supported
> branches, so back-patch to all.
>
> Per report from Andreas Karlsson.  Thanks to Andrew Gierth for
> preliminary investigation.
>
> Discussion: https://postgr.es/m/f8128b11-c5bf-3539-48cd-234178b2314d@proxel.se
>
> Branch
> ------
> REL9_6_STABLE
>


Seems to have broken the buildfarm on 9.6.

cheers

andrew



-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix broken extract_actual_join_clauses call in 9.6postgres_fdw.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Change more places to be less trusting ofRestrictInfo.is_pushed