Alexander Pyhalov <a.pyha...@postgrespro.ru> 于2024年11月29日周五 00:02写道:
> 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 > Thanks for looking at that. -- Thanks, Tender Wang