From: | Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru> |
---|---|
To: | Tender Wang <tndrwang(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Remove an unnecessary check on semijoin_target_ok() on postgres_fdw.c |
Date: | 2024-11-28 16:02:07 |
Message-ID: | 0e65bee95bcc980044bac61dd71137cc@postgrespro.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tender Wang писал(а) 2024-10-09 10:26:
> Hi,
> When I debug FDW join pushdown codes, I found below codes in
> semijoin_target_ok():
> if (bms_is_member(var->varno, innerrel->relids) &&
>
> !bms_is_member(var->varno, outerrel->relids))
>
> As far as I know, if a var belongs to the innerrel of joinrel, it's
> not possible that it
> may belong to the outerrel. So if the bms_is_member(var->varno,
> innerrel->relids)
> returns TRUE, then !bms_is_member(var->varno, outerrel->relids) must
> be TRUE.
> If bms_is_member(var->varno, innerrel->relids) returns FALSE,
> !bms_is_member(var->varno, outerrel->relids) will not execute due to
> short circuit.
>
> So I think we can remove the "!bms_is_member(var->varno,
> outerrel->relids)" from if.
> Any thoughts?
Hi.
Seems good to me.
--
Best regards,
Alexander Pyhalov,
Postgres Professional
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Dolgov | 2024-11-28 16:30:32 | Re: Changing shared_buffers without restart |
Previous Message | Kirill Reshke | 2024-11-28 15:45:11 | Re: [PATCH] SVE popcount support |