RE: [BUG]Invalidate relcache when setting REPLICA IDENTITY

From: "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>
To: Euler Taveira <euler(at)eulerto(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, "tanghy(dot)fnst(at)fujitsu(dot)com" <tanghy(dot)fnst(at)fujitsu(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Subject: RE: [BUG]Invalidate relcache when setting REPLICA IDENTITY
Date: 2021-11-12 04:57:33
Message-ID: OS0PR01MB571683D4E41904CF5D7C7B7794959@OS0PR01MB5716.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Friday, November 12, 2021 10:46 AM I wrote:
> On Friday, November 12, 2021 8:15 AM Euler Taveira <euler(at)eulerto(dot)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.

Attach the new version patch which simplify the check as pointed out by Euler.

Best regards,
Hou zj

Attachment Content-Type Size
v5-0001-Invalidate-relcache-entry-when-changing-REPLICA-IDEN.patch application/octet-stream 5.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2021-11-12 05:20:14 Re: [BUG]Invalidate relcache when setting REPLICA IDENTITY
Previous Message Greg Nancarrow 2021-11-12 04:48:59 Re: Optionally automatically disable logical replication subscriptions on error