13
13
bool
14
14
irange_intersects (IndexRange a ,IndexRange b )
15
15
{
16
- return (irange_lower (a ) <=irange_upper (b ))||
16
+ return (irange_lower (a ) <=irange_upper (b ))&&
17
17
(irange_lower (b ) <=irange_upper (a ));
18
18
}
19
19
20
20
/* Check if two ranges are conjuncted */
21
21
bool
22
22
irange_conjuncted (IndexRange a ,IndexRange b )
23
23
{
24
- return (irange_lower (a )- 1 <=irange_upper (b ))||
24
+ return (irange_lower (a )- 1 <=irange_upper (b ))&&
25
25
(irange_lower (b )- 1 <=irange_upper (a ));
26
26
}
27
27
@@ -44,6 +44,27 @@ irange_intersect(IndexRange a, IndexRange b)
44
44
irange_is_lossy (a )|| irange_is_lossy (b ));
45
45
}
46
46
47
+ #ifdef NOT_USED
48
+ /* Print range list in debug purposes */
49
+ static char *
50
+ print_irange (List * l )
51
+ {
52
+ ListCell * c ;
53
+ StringInfoData str ;
54
+
55
+ initStringInfo (& str );
56
+
57
+ foreach (c ,l )
58
+ {
59
+ IndexRange ir = lfirst_irange (c );
60
+
61
+ appendStringInfo (& str ,"[%d,%d]%c " ,irange_lower (ir ),irange_upper (ir ),
62
+ irange_is_lossy (ir ) ?'l' :'e' );
63
+ }
64
+ return str .data ;
65
+ }
66
+ #endif
67
+
47
68
/*
48
69
* Make union of two index rage lists.
49
70
*/