Fix minmax-multi distance for extreme interval values When calculating distance for interval values, the code mostly mimicked interval_mi, i.e. it built a new interval value for the difference. That however does not work for sufficiently distant interval values, when the difference overflows the interval range.
Instead, we can calculate the distance directly, without constructing the intermediate (and unnecessary) interval value. Backpatch to 14, where minmax-multi indexes were introduced. Reported-by: Dean Rasheed Reviewed-by: Ashutosh Bapat, Dean Rasheed Backpatch-through: 14 Discussion: https://postgr.es/m/[email protected] Branch ------ REL_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/924e0e2ee058d8dfeae6218dba9419a3ddf1c755 Modified Files -------------- src/backend/access/brin/brin_minmax_multi.c | 33 ++++------------------------- src/test/regress/expected/brin_multi.out | 29 +++++++++++++++++++++++++ src/test/regress/sql/brin_multi.sql | 21 ++++++++++++++++++ 3 files changed, 54 insertions(+), 29 deletions(-)
