BUG #12046: lower_inf('(-infinity,today)'::tsrange) returns false

Started by Nonameover 11 years ago2 messagesbugs
Jump to latest
#1Noname
presnypreklad@gmail.com

The following bug has been logged on the website:

Bug reference: 12046
Logged by: Nathan Cutler
Email address: presnypreklad@gmail.com
PostgreSQL version: 9.3.5
Operating system: openSUSE 13.2
Description:

In the course of writing a program that accepts tsrange literals from the
user, which are then plugged into various SQL queries, today I was testing
some tsranges to see how they are interpreted by PostgreSQL 9.3.5.

This one, in particular, behaves strangely: '(-infinity,today)'::tsrange

The lower_inf function says the lower bound is not infinite (!)

test=> SELECT lower_inf('(-infinity,today)'::tsrange);
lower_inf
-----------
f
(1 row)

Yet PostgreSQL reports that this tsrange contains a timestamp like
'1000-01-01 BC' . . .

test=> SELECT '(-infinity,today)'::tsrange @> '1000-01-01 BC'::timestamp;
?column?
----------
t
(1 row)

Seems like a bug?

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: BUG #12046: lower_inf('(-infinity, today)'::tsrange) returns false

presnypreklad@gmail.com writes:

In the course of writing a program that accepts tsrange literals from the
user, which are then plugged into various SQL queries, today I was testing
some tsranges to see how they are interpreted by PostgreSQL 9.3.5.

This one, in particular, behaves strangely: '(-infinity,today)'::tsrange

The lower_inf function says the lower bound is not infinite (!)

This is not surprising: the range stuff has its own notion of "infinite
bounds", which has nothing to do with any infinity concept that the
underlying datatype may or may not have. Trying to unify those concepts
would greatly complicate the interface between ranges and their component
datatypes, without actually buying very much AFAICS.

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs