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