diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-02-09 03:39:17 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-02-09 03:39:17 +0000 |
commit | 7ae2ccbc857f6b3a65866d44c255fba673dae414 (patch) | |
tree | 96155c2e3f546cefdce3847993b91c67cf7b44f4 /src/backend/utils/adt/date.c | |
parent | 3cb312d8734b88a1a36f40e7e77ba5f95100b388 (diff) | |
download | postgresql-7ae2ccbc857f6b3a65866d44c255fba673dae414.tar.gz postgresql-7ae2ccbc857f6b3a65866d44c255fba673dae414.zip |
Reject out-of-range dates in date_in().
Kris Jurka
Diffstat (limited to 'src/backend/utils/adt/date.c')
-rw-r--r-- | src/backend/utils/adt/date.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index 619a099b654..c070f00cf61 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.122 2005/10/15 02:49:28 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.123 2006/02/09 03:39:17 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -97,6 +97,11 @@ date_in(PG_FUNCTION_ARGS) break; } + if (!IS_VALID_JULIAN(tm->tm_year, tm->tm_mon, tm->tm_mday)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("date out of range: \"%s\"", str))); + date = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday) - POSTGRES_EPOCH_JDATE; PG_RETURN_DATEADT(date); |