On Fri, Mar 10, 2023 at 5:16 PM Önder Kalacı <onderkal...@gmail.com> wrote: > >> >> wip_for_optimize_index_column_match >> +static bool >> +IndexContainsAnyRemoteColumn(IndexInfo *indexInfo, >> + LogicalRepRelation *remoterel) >> +{ >> + for (int i = 0; i < indexInfo->ii_NumIndexAttrs; i++) >> + { >> >> Wouldn't it be better to just check if the first column is not part of >> the remote column then we can skip that index? > > > Reading [1], I think I can follow what you suggest. So, basically, > if the leftmost column is not filtered, we have the following: > >> but the entire index would have to be scanned, so in most cases the planner >> would prefer a sequential table scan over using the index. > > > So, in our case, we could follow a similar approach. If the leftmost column > of the index > is not sent over the wire from the pub, we can prefer the sequential scan. > > Is my understanding of your suggestion accurate? >
Yes. I request an opinion from Shi-San who has reported the problem. -- With Regards, Amit Kapila.