diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-06-02 16:41:15 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-06-02 16:41:15 +0000 |
commit | a6403435f0f081d7f499d0d5a5b297105bf4e653 (patch) | |
tree | dcc8f97762fcca7fe3e0aa9be8708a4ee6e6f0b4 /src/backend/utils/adt | |
parent | 4ad43de791f74ba31f8a82a7c9dd7dc89ec0af9f (diff) | |
download | postgresql-a6403435f0f081d7f499d0d5a5b297105bf4e653.tar.gz postgresql-a6403435f0f081d7f499d0d5a5b297105bf4e653.zip |
Fix erroneous error reporting for overlength input in text_date(),
text_time(), and text_timetz(). 7.4-vintage bug found by Greg Stark.
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r-- | src/backend/utils/adt/date.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index 9efc7125b19..a252131f679 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.125 2006/07/14 14:52:23 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.125.2.1 2007/06/02 16:41:15 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -863,8 +863,9 @@ text_date(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), errmsg("invalid input syntax for type date: \"%s\"", - VARDATA(str)))); - + DatumGetCString(DirectFunctionCall1(textout, + PointerGetDatum(str)))))); + sp = VARDATA(str); dp = dstr; for (i = 0; i < (VARSIZE(str) - VARHDRSZ); i++) @@ -1590,7 +1591,8 @@ text_time(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), errmsg("invalid input syntax for type time: \"%s\"", - VARDATA(str)))); + DatumGetCString(DirectFunctionCall1(textout, + PointerGetDatum(str)))))); sp = VARDATA(str); dp = dstr; @@ -2359,7 +2361,8 @@ text_timetz(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), errmsg("invalid input syntax for type time with time zone: \"%s\"", - VARDATA(str)))); + DatumGetCString(DirectFunctionCall1(textout, + PointerGetDatum(str)))))); sp = VARDATA(str); dp = dstr; |