Fix CompareIndexInfo's attnum comparisons
When an index column is an expression, it makes no sense to compare its
attribute numbers.
This seems to account for remaining buildfarm fallout from 8b08f7d482
.
At least, it solves the issue in my local 32bit VM -- let's see what the
rest thinks.
This commit is contained in:
parent
8b9e9644dc
commit
7f17fd6fc7
|
@ -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])
|
||||
|
|
Loading…
Reference in New Issue