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_15_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/2fbb2fcb0c63d6254aa93a1181a263df07e5c26d 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(-)
