Thread: date -> timestamp casting bug (integer datetimes)
When integer datetimes are in use, the legal range of the "date" type actually exceeds that of the "timestamp" type. However, the cast from date => timestamp fails to take this into account: postgres=# select '01-01-5874896'::date::timestamp; timestamp ---------------------------- 29355-07-05 15:41:44.48384 (1 row) The cast works correctly with FP-based datetimes. Should be simple to fix, but I won't have the free cycles to do it for a little while, so if anyone wants to take a shot at it in the meanwhile, they are more than welcome... -Neil
This has been saved for the 8.4 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold --------------------------------------------------------------------------- Neil Conway wrote: > When integer datetimes are in use, the legal range of the "date" type > actually exceeds that of the "timestamp" type. However, the cast from > date => timestamp fails to take this into account: > > postgres=# select '01-01-5874896'::date::timestamp; > timestamp > ---------------------------- > 29355-07-05 15:41:44.48384 > (1 row) > > The cast works correctly with FP-based datetimes. > > Should be simple to fix, but I won't have the free cycles to do it for a > little while, so if anyone wants to take a shot at it in the meanwhile, > they are more than welcome... > > -Neil > > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
On Wed, 2007-16-05 at 11:46 -0400, Bruce Momjian wrote: > This has been saved for the 8.4 release No, this is a bug, and should be fixed in 8.3 and likely backported. I haven't had a chance to get to it yet, though. -Neil
OK, moved to patches queue. --------------------------------------------------------------------------- Neil Conway wrote: > On Wed, 2007-16-05 at 11:46 -0400, Bruce Momjian wrote: > > This has been saved for the 8.4 release > > No, this is a bug, and should be fixed in 8.3 and likely backported. I > haven't had a chance to get to it yet, though. > > -Neil > > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
Neil Conway <neilc@samurai.com> writes: > When integer datetimes are in use, the legal range of the "date" type > actually exceeds that of the "timestamp" type. However, the cast from > date => timestamp fails to take this into account: Fixed, but I didn't bother to back-patch it. regards, tom lane