aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt
diff options
context:
space:
mode:
authorAlexander Korotkov <akorotkov@postgresql.org>2020-12-29 23:35:26 +0300
committerAlexander Korotkov <akorotkov@postgresql.org>2020-12-29 23:35:26 +0300
commita5b81b6f0006ea0b502780ce7f73d295a225842c (patch)
treeaa59780410492ad0515a0b1a5b959a9d9d8d3225 /src/backend/utils/adt
parent1b3433e25f81d6fc4f231887ab965e1ea1bcb47e (diff)
downloadpostgresql-a5b81b6f0006ea0b502780ce7f73d295a225842c.tar.gz
postgresql-a5b81b6f0006ea0b502780ce7f73d295a225842c.zip
Fix bugs in comparison functions for multirange_bsearch_match()
Two functions multirange_range_overlaps_bsearch_comparison() and multirange_range_contains_bsearch_comparison() contain bugs of returning -1 instead of 1. This commit fixes these bugs and adds corresponding regression tests.
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r--src/backend/utils/adt/multirangetypes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/utils/adt/multirangetypes.c b/src/backend/utils/adt/multirangetypes.c
index 06316ba6b65..46f661fee49 100644
--- a/src/backend/utils/adt/multirangetypes.c
+++ b/src/backend/utils/adt/multirangetypes.c
@@ -1660,7 +1660,7 @@ multirange_range_contains_bsearch_comparison(TypeCacheEntry *typcache,
if (range_cmp_bounds(typcache, keyUpper, lower) < 0)
return -1;
if (range_cmp_bounds(typcache, keyLower, upper) > 0)
- return -1;
+ return 1;
/*
* At this point we found overlapping range. But we have to check if it
@@ -1825,7 +1825,7 @@ multirange_range_overlaps_bsearch_comparison(TypeCacheEntry *typcache,
if (range_cmp_bounds(typcache, keyUpper, lower) < 0)
return -1;
if (range_cmp_bounds(typcache, keyLower, upper) > 0)
- return -1;
+ return 1;
*match = true;
return 0;