summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 a53861cecf7..c160d8a301f 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 7234cb3da69..a49ab465b36 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 38524641f47..b0955c0e623 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);
/*