Re: Why overlaps is not working

From: Alban Hertroys <alban(at)magproductions(dot)nl>
To: Andrus <eetasoft(at)online(dot)ee>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Why overlaps is not working
Date: 2006-11-13 12:04:25
Message-ID: 45585F49.8080600@magproductions.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Andrus wrote:
>> I thought the suggested solution was to use infinity, hence the
>> requirement to cast to timestamps.
>> That'd mean something along the lines of:
>>
>> where (a::timestamp, coalesce(b, 'infinity')::timestamp) overlaps
>> (c::timestamp, coalesce(d, 'infinity')::timestamp)
>
> select (date'20060101'::timestamp, coalesce(date'20060102'::timestamp,
> 'infinity')) overlaps
> (date'20060102', coalesce(date'20060103'::timestamp, 'infinity'))
>
> returns false but since date'20060102' is overlapping it must return true.
> So it seems that it is not possible to use timestamps and infinity.

Not true, as the above query reads:

select (date'20060101'::timestamp, date'20060102'::timestamp)
overlaps
(date'20060102', date'20060103'::timestamp)

Which doesn't overlap.

What you meant to test is:

select (date '20060101'::timestamp,
coalesce(NULL, 'infinity'::timestamp))
overlaps
(date '20060102'::timestamp,
coalesce(NULL, 'infinity'::timestamp))

Which returns true.

--
Alban Hertroys
alban(at)magproductions(dot)nl

magproductions b.v.

T: ++31(0)534346874
F: ++31(0)534346876
M:
I: www.magproductions.nl
A: Postbus 416
7500 AK Enschede

// Integrate Your World //

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrus 2006-11-13 12:24:52 Re: Why overlaps is not working
Previous Message Andrus 2006-11-13 11:41:19 Re: Why overlaps is not working