Commit d9c5b9a9 authored by Tomas Vondra's avatar Tomas Vondra

Fix bug in brin_minmax_multi_union

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
parent 4908684d
......@@ -2794,7 +2794,7 @@ brin_minmax_multi_union(PG_FUNCTION_ARGS)
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment