Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher
От | Önder Kalacı |
---|---|
Тема | Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher |
Дата | |
Msg-id | CACawEhUDXxyqBtqnnU1a5gkrjY451mTQaCX0hvJqXoHdrWbKXA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher (Amit Kapila <amit.kapila16@gmail.com>) |
Список | pgsql-hackers |
Hi Amit, all
You have not given complete steps to reproduce the problem where
instead of the index scan, a sequential scan would be picked. I have
tried to reproduce by extending your steps but didn't see the problem.
Let me know if I am missing something.
I think the steps you shared are what I had in mind.
I have debugged the above example and it uses an index scan during
apply without your latest change which is what I expected. AFAICS, the
use of IdxIsRelationIdentityOrPK() is to decide whether we will do
tuples_equal() or not during the index scan and I see it gives the
correct results with the example you provided.
Right, I got confused. IdxIsRelationIdentityOrPK is only called within
RelationFindReplTupleByIndex(). And, yes, it only impacts tuples_equal.
But, still, it feels safer to keep as the current patch if we don't change the
name of the function.
I really don't have any strong opinions for either way, only a slight preference
to keep as v35 for future callers not to get confused as we do here.
Let me know how you prefer this.
Thanks,
Onder
В списке pgsql-hackers по дате отправления: