Bernd Helmle <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq