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
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;
t
(1 row)
+select '{(10,20),(30,40),(50,60)}'::nummultirange && '(42,92)'::numrange;
+ ?column?
+----------
+ t
+(1 row)
+
-- contains
SELECT nummultirange() @> nummultirange();
?column?
t
(1 row)
+select '{(10,20),(30,40),(50,60)}'::nummultirange @> '(52,56)'::numrange;
+ ?column?
+----------
+ t
+(1 row)
+
-- is contained by
SELECT nummultirange() <@ nummultirange();
?column?
SELECT nummultirange(numrange(3,4)) && nummultirange(numrange(1,2), numrange(3.5,8));
SELECT nummultirange(numrange(1,2), numrange(3.5,8)) && numrange(3,4);
SELECT nummultirange(numrange(1,2), numrange(3.5,8)) && nummultirange(numrange(3,4));
+select '{(10,20),(30,40),(50,60)}'::nummultirange && '(42,92)'::numrange;
-- contains
SELECT nummultirange() @> nummultirange();
SELECT '{[1,5), [8,9)}'::nummultirange @> '{[1,5)}';
SELECT '{[1,5), [8,9)}'::nummultirange @> '{[6,7)}';
SELECT '{[1,5), [6,9)}'::nummultirange @> '{[6,7)}';
+select '{(10,20),(30,40),(50,60)}'::nummultirange @> '(52,56)'::numrange;
-- is contained by
SELECT nummultirange() <@ nummultirange();