summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2023-10-03 15:40:15 +0000
committerPeter Eisentraut2023-10-03 15:51:02 +0000
commit5e4282772a569363da350548b2ce2e214e92ba40 (patch)
treeb360db064f6acbd48bb43149a75cccd3824436d3
parent784162357130f63b5130cd6517db21451692f9b3 (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.c8
-rw-r--r--src/backend/utils/cache/relcache.c29
-rw-r--r--src/include/utils/relcache.h1
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);
/*