On Fri, Nov 12, 2021 at 10:27 AM houzj.f...@fujitsu.com <houzj.f...@fujitsu.com> wrote: > > On Friday, November 12, 2021 10:46 AM I wrote: > > On Friday, November 12, 2021 8:15 AM Euler Taveira <eu...@eulerto.com> > > wrote: > > > I reviewed your patch and I think the fix could be simplified by > > > > > > if (OidIsValid(indexOid)) > > > CacheInvalidateRelcache(rel); > > > > > > If indexOid is valid it is a REPLICA IDENTITY INDEX. A few lines above > > > there is a check for a valid indexOid that makes sure the index is > > > already marked as a replica identity; if so, it bail out. If it is > > > not, the relation should be invalidated. Am I missing something? > > > > Thanks for reviewing ! > > But I am not sure it's better to simplify the code like "if > > (OidIsValid(indexOid)) > > CacheInvalidate". > > Oh, I got confused with the logic in relation_mark_replica_identity, sorry > for that. > I now realize that you are right, we can just check "if > (OidIsValid(indexOid))" here > to simplify the code. >
But won't that generate invalidation for the rel twice in the case (change Replica Identity from Nothing to some index) you mentioned in the previous email? -- With Regards, Amit Kapila.