From 7be1b3ba74e92dcd65b3a07c3c682e4a36ad33af Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
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 288cafb43c7..1e3553816d7 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
-- 
GitLab