When calling sort_expanded_ranges() we need to remember the return
value, because the function sorts and also deduplicates the ranges. So
the number of ranges may decrease. brin_minmax_multi_union failed to do
that, which resulted in crashes due to bogus ranges (equal minval/maxval
but not marked as compacted).
Reported-by: Jaime Casanova
Discussion: https://postgr.es/m/
20210404052550.GA4376%40ahch-to
BTLessStrategyNumber);
/* sort the expanded ranges */
- sort_expanded_ranges(cmpFn, colloid, eranges, neranges);
+ neranges = sort_expanded_ranges(cmpFn, colloid, eranges, neranges);
/*
* We've loaded two different lists of expanded ranges, so some of them