timestamp bug
От | Cedar Cox |
---|---|
Тема | timestamp bug |
Дата | |
Msg-id | Pine.LNX.4.21.0105201225150.17216-100000@nanu.visionforisrael.com обсуждение исходный текст |
Ответы |
Re: timestamp bug
(Tom Lane <tgl@sss.pgh.pa.us>)
|
Список | pgsql-sql |
There appears to be a bug in timestamp/interval addition. It happens in both PG version 7.0.2 and 7.1. There is a duplicate day (2001 Sep 07) and a missing day (2002 Apr 04). I discovered this by accident when I asked the interface I'm writing for a 365 day long calendar.. Interestingly, the missing day thing (second example) doesn't happen if only adding a few days (like the first example). I didn't go into detail to find the point at which it does happen. -Cedar //////////////////// devbarn71=# SELECT version(); version -------------------------------------------------------------------PostgreSQL 7.1 on i686-pc-linux-gnu, compiled by GCC egcs-2.91.66 (1 row) //////////////////// devbarn71=# SELECT to_char(cast('2001 sep 5' as timestamp)+cast('1 days' as interval),'YYYY Mon DD'); to_char -------------2001 Sep 06 (1 row) devbarn71=# SELECT to_char(cast('2001 sep 5' as timestamp)+cast('2 days' as interval),'YYYY Mon DD'); to_char -------------2001 Sep 07 (1 row) devbarn71=# SELECT to_char(cast('2001 sep 5' as timestamp)+cast('3 days' as interval),'YYYY Mon DD'); to_char -------------2001 Sep 07 (1 row) devbarn71=# SELECT to_char(cast('2001 sep 5' as timestamp)+cast('4 days' as interval),'YYYY Mon DD'); to_char -------------2001 Sep 08 (1 row) //////////////////// devbarn71=# SELECT to_char(cast('2001 apr 8' as timestamp)+cast('361 days' as interval),'YYYY Mon DD'); to_char -------------2002 Apr 03 (1 row) devbarn71=# SELECT to_char(cast('2001 apr 8' as timestamp)+cast('362 days' as interval),'YYYY Mon DD'); to_char -------------2002 Apr 04 (1 row) devbarn71=# SELECT to_char(cast('2001 apr 8' as timestamp)+cast('363 days' as interval),'YYYY Mon DD'); to_char -------------2002 Apr 06 (1 row) devbarn71=# SELECT to_char(cast('2001 apr 8' as timestamp)+cast('364 days' as interval),'YYYY Mon DD'); to_char -------------2002 Apr 07 (1 row) //////////////////// As an afterthought, cedarc@nanu:~/schedule/fe$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 7 model name : Pentium III (Katmai) stepping : 3 cpu MHz : 498.379505 cache size : 512 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx osfxsr kni bogomips : 496.44
В списке pgsql-sql по дате отправления:
Предыдущее
От: "Joe Conway"Дата:
Сообщение: Re: Truncation of char, varchar, bit, varbit types (fwd)