diff options
author | Bruce Momjian <bruce@momjian.us> | 2012-08-15 16:48:05 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2012-08-15 16:48:05 -0400 |
commit | 083b9133aa0e5e91d74ba46b530a74989223324d (patch) | |
tree | 23eab4d50dd268781d7a0f3a01ba39a426154233 | |
parent | 74f4881d7cc9c69cb0e0b236f06d1ebf9859a737 (diff) | |
download | postgresql-083b9133aa0e5e91d74ba46b530a74989223324d.tar.gz postgresql-083b9133aa0e5e91d74ba46b530a74989223324d.zip |
On second thought, explain why date_trunc("week") on interval values is
not supported in the error message, rather than the docs.
-rw-r--r-- | doc/src/sgml/func.sgml | 5 | ||||
-rw-r--r-- | src/backend/utils/adt/timestamp.c | 15 |
2 files changed, 11 insertions, 9 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 5d0c71a8b9f..d5ad4718b15 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -7051,11 +7051,6 @@ date_trunc('<replaceable>field</replaceable>', <replaceable>source</replaceable> </para> <para> - <literal>week</literal> is not supported for <type>interval</> - values because months usually have fractional weeks. - </para> - - <para> Examples: <screen> SELECT date_trunc('hour', TIMESTAMP '2001-02-16 20:38:40'); diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 8593b6b47f4..2adc178de4f 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -3710,10 +3710,17 @@ interval_trunc(PG_FUNCTION_ARGS) break; default: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("interval units \"%s\" not supported", - lowunits))); + if (val == DTK_WEEK) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("interval units \"%s\" not supported " + "because months usually have fractional weeks", + lowunits))); + else + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("interval units \"%s\" not supported", + lowunits))); } if (tm2interval(tm, fsec, result) != 0) |