diff options
Diffstat (limited to 'src/backend/commands/indexcmds.c')
-rw-r--r-- | src/backend/commands/indexcmds.c | 8 |
1 files changed, 5 insertions, 3 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. */ |