Re: Clause accidentally pushed down ( Possible bug in Making Vars outer-join aware) - Mailing list pgsql-bugs

From Andrey Lepikhov
Subject Re: Clause accidentally pushed down ( Possible bug in Making Vars outer-join aware)
Date
Msg-id c69bd07e-1175-10da-9ac0-4bfe59235ac2@postgrespro.ru
Whole thread Raw
In response to Re: Clause accidentally pushed down ( Possible bug in Making Vars outer-join aware)  (Richard Guo <guofenglinux@gmail.com>)
Responses Re: Clause accidentally pushed down ( Possible bug in Making Vars outer-join aware)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On 27/2/2023 13:16, Richard Guo wrote:
> 
> On Mon, Feb 27, 2023 at 2:23 PM Andrey Lepikhov 
> <a.lepikhov@postgrespro.ru <mailto:a.lepikhov@postgrespro.ru>> wrote:
> 
>     Doing a comparison of pg15 and master initsplan.c I found that a clear
>     and documented algorithm for delaying the application of a qual is lost
>     or replaced with some commute_* fields.
>     It is not clear how we guarantee correct application delay of a qual.
>     Which part of the code implements it now?
> 
> Do you mean function check_outerjoin_delay()?  Yes it has been removed
> in b448f1c8, since now we consider that outer joins listed in
> varnullingrels or phnullingrels are used in the clause, so that the
> clause would not be placed below outer joins that should null some of
> its vars.
I see. But these logics looks non-equivalent.
relnode.c::build_joinrel_tlist() adds relid into varnullingrels only in 
the case when the var exists in the target list. So, other joins, which 
don't have links to the var, don't get into the bitmapset too.

-- 
regards,
Andrey Lepikhov
Postgres Professional




pgsql-bugs by date:

Previous
From: Richard Guo
Date:
Subject: Re: Clause accidentally pushed down ( Possible bug in Making Vars outer-join aware)
Next
From: niraj nandane
Date:
Subject: Regarding backpatching to v14