Re: Strange behavior with leap dates and centuries BC
От | Tom Lane |
---|---|
Тема | Re: Strange behavior with leap dates and centuries BC |
Дата | |
Msg-id | 28390.1203958805@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Strange behavior with leap dates and centuries BC (Bernd Helmle <mailings@oopsware.de>) |
Ответы |
Re: Strange behavior with leap dates and centuries BC
|
Список | pgsql-hackers |
Bernd Helmle <mailings@oopsware.de> writes: > CREATE TABLE foo(datum date); > INSERT INTO foo VALUES('0000-02-29'); Since there is no year zero according to Gregorian reckoning, this should have been rejected to start with. > INSERT INTO foo VALUES('0001-02-29 BC'); > ERROR: date/time field value out of range: "0001-02-29 BC" Yeah, something broken there too. It does know (correctly) that 1BC is a leap year: regression=# select '0001-02-28 BC'::date + 1; ?column? ---------------0001-02-29 BC (1 row) regression=# select '0002-02-28 BC'::date + 1; ?column? ---------------0002-03-01 BC (1 row) So I'd say there are two separate bugs in datetime input processing exposed here. > Huh? It seems the calculation for leap dates with negative year values is > broken. This example was taken from a current HEAD checkout today, the > original version i've seen this behavior first was 8.2.4. I see the same behaviors in 7.4.x, so it's a longstanding problem... regards, tom lane
В списке pgsql-hackers по дате отправления: