aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/catalog/index.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
index f0223416adf..849a4691277 100644
--- a/src/backend/catalog/index.c
+++ b/src/backend/catalog/index.c
@@ -1795,8 +1795,10 @@ CompareIndexInfo(IndexInfo *info1, IndexInfo *info2,
if (maplen < info2->ii_KeyAttrNumbers[i])
elog(ERROR, "incorrect attribute map");
- if (attmap[info2->ii_KeyAttrNumbers[i] - 1] !=
- info1->ii_KeyAttrNumbers[i])
+ /* ignore expressions at this stage */
+ if ((info1->ii_KeyAttrNumbers[i] != InvalidAttrNumber) &&
+ (attmap[info2->ii_KeyAttrNumbers[i] - 1] !=
+ info1->ii_KeyAttrNumbers[i]))
return false;
if (collations1[i] != collations2[i])