diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c
index 288cafb43c7ec1db604219f01d5cd43b1a3e99f0..1e3553816d7797c0d12a27e197aa9cdb49c70993 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