diff --git a/src/common/backend/catalog/index.cpp b/src/common/backend/catalog/index.cpp index f2b2b033a1750d7465733c0845770750f8c240a0..fb91d13ad7f4702b425aba85f377d3343fc938fc 100644 --- a/src/common/backend/catalog/index.cpp +++ b/src/common/backend/catalog/index.cpp @@ -5700,6 +5700,7 @@ bool ReindexRelation(Oid relid, int flags, int reindexType, void *baseDesc, Adap foreach (indexId, indexIds) { Oid indexOid = lfirst_oid(indexId); Relation indexRel = index_open(indexOid, AccessShareLock); + bool index_unique = (indexRel->rd_index && indexRel->rd_index->indisunique); if ((((uint32)reindexType) & REINDEX_ALL_INDEX) || ((((uint32)reindexType) & REINDEX_BTREE_INDEX) && (indexRel->rd_rel->relam == BTREE_AM_OID)) || @@ -5712,7 +5713,7 @@ bool ReindexRelation(Oid relid, int flags, int reindexType, void *baseDesc, Adap memInfo, dbWide, baseDesc, isTruncGTT); #ifndef ENABLE_MULTIPLE_NODES - if (RelationIsCUFormat(rel) && indexRel->rd_index != NULL && indexRel->rd_index->indisunique) { + if (RelationIsCUFormat(rel) && index_unique) { ReindexDeltaIndex(indexOid, InvalidOid); } #endif