From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alban Hertroys <alban(at)magproductions(dot)nl> |
Cc: | Andrus <eetasoft(at)online(dot)ee>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Why overlaps is not working |
Date: | 2006-11-09 14:38:26 |
Message-ID: | 6860.1163083106@sss.pgh.pa.us |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Alban Hertroys <alban(at)magproductions(dot)nl> writes:
> They're adjacent, they don't overlap. Check the documentation on
> OVERLAPS, I'm sure it's explicit about whether it is inclusive or
> exclusive (the latter apparently).
It's not very clear, but the spec defines (S1,T1) OVERLAPS (S2,T2)
as
( S1 > S2 AND NOT ( S1 >= T2 AND T1 >= T2 ) )
OR
( S2 > S1 AND NOT ( S2 >= T1 AND T2 >= T1 ) )
OR
( S1 = S2 AND ( T1 <> T2 OR T1 = T2 ) )
(for the simple case where there are no nulls and S1 <= T1, S2 <= T2).
So it looks to me like the intervals are actually considered to be
half-open intervals [S1, T1). Which is something that has its uses,
but it's a bit surprising compared to, say, BETWEEN.
If you don't like it, write your own comparison function ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2006-11-09 14:41:37 | Re: posgres headers |
Previous Message | Antonios Katsikadamos | 2006-11-09 14:33:53 | posgres headers |