mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Improve RelationGetIdentityKeyBitmap().
We were using RelationGetIndexList() to update the relation's replica identity index but instead, we can directly use RelationGetReplicaIndex() which uses the same functionality. This is a minor code readability improvement. Author: Japin Li Reviewed-By: Takamichi Osumi, Amit Kapila Discussion: https://postgr.es/m/4C99A862-69C8-431F-960A-81B1151F1B89@enterprisedb.com
This commit is contained in:
13
src/backend/utils/cache/relcache.c
vendored
13
src/backend/utils/cache/relcache.c
vendored
@ -5244,9 +5244,9 @@ Bitmapset *
|
||||
RelationGetIdentityKeyBitmap(Relation relation)
|
||||
{
|
||||
Bitmapset *idindexattrs = NULL; /* columns in the replica identity */
|
||||
List *indexoidlist;
|
||||
Relation indexDesc;
|
||||
int i;
|
||||
Oid replidindex;
|
||||
MemoryContext oldcxt;
|
||||
|
||||
/* Quick exit if we already computed the result */
|
||||
@ -5260,18 +5260,14 @@ RelationGetIdentityKeyBitmap(Relation relation)
|
||||
/* Historic snapshot must be set. */
|
||||
Assert(HistoricSnapshotActive());
|
||||
|
||||
indexoidlist = RelationGetIndexList(relation);
|
||||
|
||||
/* Fall out if no indexes (but relhasindex was set) */
|
||||
if (indexoidlist == NIL)
|
||||
return NULL;
|
||||
replidindex = RelationGetReplicaIndex(relation);
|
||||
|
||||
/* Fall out if there is no replica identity index */
|
||||
if (!OidIsValid(relation->rd_replidindex))
|
||||
if (!OidIsValid(replidindex))
|
||||
return NULL;
|
||||
|
||||
/* Look up the description for the replica identity index */
|
||||
indexDesc = RelationIdGetRelation(relation->rd_replidindex);
|
||||
indexDesc = RelationIdGetRelation(replidindex);
|
||||
|
||||
if (!RelationIsValid(indexDesc))
|
||||
elog(ERROR, "could not open relation with OID %u",
|
||||
@ -5295,7 +5291,6 @@ RelationGetIdentityKeyBitmap(Relation relation)
|
||||
}
|
||||
|
||||
RelationClose(indexDesc);
|
||||
list_free(indexoidlist);
|
||||
|
||||
/* Don't leak the old values of these bitmaps, if any */
|
||||
bms_free(relation->rd_idattr);
|
||||
|
Reference in New Issue
Block a user