From 7be1b3ba74e92dcd65b3a07c3c682e4a36ad33af Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 18 Aug 2005 13:43:08 +0000 Subject: [PATCH] Add hint for to_char(interval) invalid format specifications. --- src/backend/utils/adt/formatting.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 288cafb43c..1e3553816d 100644 --- a/src/backend/utils/adt/formatting.c +++ b/src/backend/utils/adt/formatting.c @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------- * formatting.c * - * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.98 2005/08/18 04:37:08 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.99 2005/08/18 13:43:08 momjian Exp $ * * * Portions Copyright (c) 1999-2005, PostgreSQL Global Development Group @@ -421,26 +421,27 @@ typedef struct TmToChar #define tmtcFsec(_X) ((_X)->fsec) #define ZERO_tm(_X) \ - do { \ - (_X)->tm_sec = (_X)->tm_year = (_X)->tm_min = (_X)->tm_wday = \ - (_X)->tm_hour = (_X)->tm_yday = (_X)->tm_isdst = 0; \ - (_X)->tm_mday = (_X)->tm_mon = 1; \ - } while(0) +do { \ + (_X)->tm_sec = (_X)->tm_year = (_X)->tm_min = (_X)->tm_wday = \ + (_X)->tm_hour = (_X)->tm_yday = (_X)->tm_isdst = 0; \ + (_X)->tm_mday = (_X)->tm_mon = 1; \ +} while(0) #define ZERO_tmtc(_X) \ - do { \ - ZERO_tm( tmtcTm(_X) ); \ - tmtcFsec(_X) = 0; \ - tmtcTzn(_X) = NULL; \ - } while(0) +do { \ + ZERO_tm( tmtcTm(_X) ); \ + tmtcFsec(_X) = 0; \ + tmtcTzn(_X) = NULL; \ +} while(0) #define INVALID_FOR_INTERVAL \ - do { \ - if (is_interval) \ - ereport(ERROR, \ - (errcode(ERRCODE_INVALID_DATETIME_FORMAT), \ - errmsg("invalid format specification for an interval value"))); \ - } while(0) +do { \ + if (is_interval) \ + ereport(ERROR, \ + (errcode(ERRCODE_INVALID_DATETIME_FORMAT), \ + errmsg("invalid format specification for an interval value"), \ + errhint("Intervals are not tied to specific calendar dates."))); \ +} while(0) /***************************************************************************** * KeyWords definition & action -- 2.11.0