diff options
author | Peter Eisentraut | 2023-10-03 15:40:15 +0000 |
---|---|---|
committer | Peter Eisentraut | 2023-10-03 15:51:02 +0000 |
commit | 5e4282772a569363da350548b2ce2e214e92ba40 (patch) | |
tree | b360db064f6acbd48bb43149a75cccd3824436d3 | |
parent | 784162357130f63b5130cd6517db21451692f9b3 (diff) |
Remove RelationGetIndexRawAttOptions()
There was only one caller left, for which this function was overkill.
Also, having it in relcache.c was inappropriate, since it doesn't work
with the relcache at all.
Discussion: https://www.postgresql.org/message-id/flat/[email protected]
-rw-r--r-- | src/backend/commands/indexcmds.c | 8 | ||||
-rw-r--r-- | src/backend/utils/cache/relcache.c | 29 | ||||
-rw-r--r-- | src/include/utils/relcache.h | 1 |
3 files changed, 5 insertions, 33 deletions
diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index a53861cecf..c160d8a301 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -301,12 +301,14 @@ CheckIndexCompatible(Oid oldId, /* Any change in opclass options break compatibility. */ if (ret) { - Datum *oldOpclassOptions = RelationGetIndexRawAttOptions(irel); + Datum *oldOpclassOptions = palloc_array(Datum, old_natts); + + for (i = 0; i < old_natts; i++) + oldOpclassOptions[i] = get_attoptions(oldId, i + 1); ret = CompareOpclassOptions(oldOpclassOptions, opclassOptions, old_natts); - if (oldOpclassOptions) - pfree(oldOpclassOptions); + pfree(oldOpclassOptions); } /* Any change in exclusion operator selections breaks compatibility. */ diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 7234cb3da6..a49ab465b3 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -5821,35 +5821,6 @@ RelationBuildPublicationDesc(Relation relation, PublicationDesc *pubdesc) MemoryContextSwitchTo(oldcxt); } -/* - * RelationGetIndexRawAttOptions -- get AM/opclass-specific options for the index - */ -Datum * -RelationGetIndexRawAttOptions(Relation indexrel) -{ - Oid indexrelid = RelationGetRelid(indexrel); - int16 natts = RelationGetNumberOfAttributes(indexrel); - Datum *options = NULL; - int16 attnum; - - for (attnum = 1; attnum <= natts; attnum++) - { - if (indexrel->rd_indam->amoptsprocnum == 0) - continue; - - if (!OidIsValid(index_getprocid(indexrel, attnum, - indexrel->rd_indam->amoptsprocnum))) - continue; - - if (!options) - options = palloc0(sizeof(Datum) * natts); - - options[attnum - 1] = get_attoptions(indexrelid, attnum); - } - - return options; -} - static bytea ** CopyIndexAttOptions(bytea **srcopts, int natts) { diff --git a/src/include/utils/relcache.h b/src/include/utils/relcache.h index 38524641f4..b0955c0e62 100644 --- a/src/include/utils/relcache.h +++ b/src/include/utils/relcache.h @@ -51,7 +51,6 @@ extern Oid RelationGetReplicaIndex(Relation relation); extern List *RelationGetIndexExpressions(Relation relation); extern List *RelationGetDummyIndexExpressions(Relation relation); extern List *RelationGetIndexPredicate(Relation relation); -extern Datum *RelationGetIndexRawAttOptions(Relation indexrel); extern bytea **RelationGetIndexAttOptions(Relation relation, bool copy); /* |