diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-03-15 20:31:19 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-03-15 20:31:19 +0000 |
commit | 7a52a8f829a9f50e054a0643826f73092749c0cf (patch) | |
tree | 62a56e5115b9705236b19a051bf752d7d6b34dd3 /src/backend/utils/adt/timestamp.c | |
parent | 0f80200a8e0692c39bdc0e6caa1809a63fa44fc8 (diff) |
Clean up the code for to_timestamp's conversion of year plus ISO day number
to date, as per bug #4702 and subsequent discussion. In particular, make it
work for years specified using AD/BC or CC fields, and fix the test for "no
year specified" so that it doesn't trigger inappropriately for 1 BC (which it
was doing even in code paths that had nothing to do with to_timestamp). I
also did some minor code beautification in the non-ISO-day-number code path.
This area has been busted all along, but because the code has been rewritten
repeatedly, it would be considerable trouble to back-patch. It's such a
corner case that it doesn't seem worth the effort.
Diffstat (limited to 'src/backend/utils/adt/timestamp.c')
-rw-r--r-- | src/backend/utils/adt/timestamp.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 06eb044f0c5..2d1e7ff45ae 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.196 2009/01/01 17:23:50 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.197 2009/03/15 20:31:19 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -3668,11 +3668,6 @@ isoweek2j(int year, int week) int day0, day4; - if (!year) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("cannot calculate week number without year information"))); - /* fourth day of current year */ day4 = date2j(year, 1, 4); |