Thread: 2147483642::abstime is null, 2147483644::abstime is null

2147483642::abstime is null, 2147483644::abstime is null

From
Filip Jirsák
Date:
Hi,
why this statement:
SELECT  2147483647::abstime, 2147483646::abstime, 2147483645::abstime,
2147483644::abstime, 2147483643::abstime, 2147483642::abstime,
2147483641::abstime, 2147483640::abstime, 2147483639::abstime;

returns null form2147483646 and 2147483645? Is this feature or bug?
(Server version is 7.4.5).

Thanks.
Filip Jirsák

Re: 2147483642::abstime is null, 2147483644::abstime is

From
Scott Marlowe
Date:
On Fri, 2005-03-04 at 08:25, Filip Jirsák wrote:
> Hi,
> why this statement:
> SELECT  2147483647::abstime, 2147483646::abstime, 2147483645::abstime,
> 2147483644::abstime, 2147483643::abstime, 2147483642::abstime,
> 2147483641::abstime, 2147483640::abstime, 2147483639::abstime;
>
> returns null form2147483646 and 2147483645? Is this feature or bug?
> (Server version is 7.4.5).

I'm running 7.4.7 on FC2, and i get this:

test=# SELECT  2147483647::abstime, 2147483646::abstime,
2147483645::abstime,
test-# 2147483644::abstime, 2147483643::abstime, 2147483642::abstime,
test-# 2147483641::abstime, 2147483640::abstime, 2147483639::abstime;
        abstime         | abstime |        abstime         | abstime
|        abstime         |        abstime       |        abstime
|        abstime         |        abstime

------------------------+---------+------------------------+----------+------------------------+------------------------+------------------------+------------------------+------------------------
 2038-01-18 21:14:07-06 | invalid | 2038-01-18 21:14:05-06 | infinity |
2038-01-18 21:14:03-06 | 2038-01-18 21:14:02-06 | 2038-01-18 21:14:01-06
| 2038-01-18 21:14:00-06 | 2038-01-18 21:13:59-06
(1 row)


Re: 2147483642::abstime is null, 2147483644::abstime is null

From
Tom Lane
Date:
=?ISO-8859-2?Q?Filip_Jirs=E1k?= <Filip.Jirsak@gymnacel.cz> writes:
> why this statement:
> SELECT  2147483647::abstime, 2147483646::abstime, 2147483645::abstime,
> 2147483644::abstime, 2147483643::abstime, 2147483642::abstime,
> 2147483641::abstime, 2147483640::abstime, 2147483639::abstime;

> returns null form2147483646 and 2147483645?

It doesn't.  It returns "invalid" and "infinity".

            regards, tom lane

Re: 2147483642::abstime is null, 2147483644::abstime is

From
"Dr. Stephane Schildknecht"
Date:
Tom Lane wrote:
> =?ISO-8859-2?Q?Filip_Jirs=E1k?= <Filip.Jirsak@gymnacel.cz> writes:
>
>>why this statement:
>>SELECT  2147483647::abstime, 2147483646::abstime, 2147483645::abstime,
>>2147483644::abstime, 2147483643::abstime, 2147483642::abstime,
>>2147483641::abstime, 2147483640::abstime, 2147483639::abstime;
>
>
>>returns null form2147483646 and 2147483645?
>
>
> It doesn't.  It returns "invalid" and "infinity".

Is there a reason for this ?

Stéphane

Re: 2147483642::abstime is null, 2147483644::abstime is null

From
Tom Lane
Date:
"Dr. Stephane Schildknecht" <sschildknecht@linagora.com> writes:
> Tom Lane wrote:
>> It doesn't.  It returns "invalid" and "infinity".

> Is there a reason for this ?

I suppose the "invalid" value is a legacy thing, but "infinity"
certainly strikes me as useful.  We have that in the regular
timestamp type as well.

If you're asking why those particular encoded values, I dunno.
Certainly it seems like "infinity" needs to be larger than all
normal values so you don't have to special-case it in comparisons.

            regards, tom lane