Thread: INTERVAL problems with greater than 2^32 seconds

INTERVAL problems with greater than 2^32 seconds

From
Darcy Buskermolen
Date:
it apears that date/time math using intervals of more than 2^32 seconds get=
=20
truncated to 2^32 seconds.

psql=3D# SELECT version();
                               version=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
---------------------------------------------------------------------
 PostgreSQL 7.3b3 on i386-unknown-freebsd4.7, compiled by GCC 2.95.4
(1 row)

psql=3D# SELECT '1900-01-01'::DATE + (2^32 || ' seconds')::INTERVAL,=20=20
'1900-01-01'::DATE + ((2^32)+1 || ' seconds')::INTERVAL, '1900-01-01'::DATE=
 +=20
(9999999999999 || ' seconds')::INTERVAL
psql-# ;
      ?column?       |      ?column?       |      ?column?=20=20=20=20=20=
=20=20
---------------------+---------------------+---------------------
 1968-01-20 03:14:07 | 1968-01-20 03:14:07 | 1968-01-20 03:14:07
(1 row)

psql=3D# SELECT (2^32 || ' seconds')::INTERVAL, ((2^32)+1 || '=20
seconds')::INTERVAL, (9999999999999 || ' seconds')::INTERVAL;
      interval       |      interval       |      interval=20=20=20=20=20=
=20=20
---------------------+---------------------+---------------------
 24855 days 03:14:07 | 24855 days 03:14:07 | 24855 days 03:14:07
(1 row)



--=20
Darcy Buskermolen
Wavefire Technologies Corp.
ph: 250.717.0200
fx:  250.763.1759
http://www.wavefire.com