Fix check_exclusion_constraint() to insert correct collations in ScanKeys.

This commit is contained in:
Tom Lane 2011-03-27 13:29:52 -04:00
parent 87f2ad1326
commit d0dd5c7352

View File

@ -1158,6 +1158,7 @@ check_exclusion_constraint(Relation heap, Relation index, IndexInfo *indexInfo,
{ {
Oid *constr_procs = indexInfo->ii_ExclusionProcs; Oid *constr_procs = indexInfo->ii_ExclusionProcs;
uint16 *constr_strats = indexInfo->ii_ExclusionStrats; uint16 *constr_strats = indexInfo->ii_ExclusionStrats;
Oid *index_collations = index->rd_indcollation;
int index_natts = index->rd_index->indnatts; int index_natts = index->rd_index->indnatts;
IndexScanDesc index_scan; IndexScanDesc index_scan;
HeapTuple tup; HeapTuple tup;
@ -1188,11 +1189,14 @@ check_exclusion_constraint(Relation heap, Relation index, IndexInfo *indexInfo,
for (i = 0; i < index_natts; i++) for (i = 0; i < index_natts; i++)
{ {
ScanKeyInit(&scankeys[i], ScanKeyEntryInitialize(&scankeys[i],
i + 1, 0,
constr_strats[i], i + 1,
constr_procs[i], constr_strats[i],
values[i]); InvalidOid,
index_collations[i],
constr_procs[i],
values[i]);
} }
/* /*