OSDN Git Service

Add hint for to_char(interval) invalid format specifications.
authorBruce Momjian <bruce@momjian.us>
Thu, 18 Aug 2005 13:43:08 +0000 (13:43 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 18 Aug 2005 13:43:08 +0000 (13:43 +0000)
src/backend/utils/adt/formatting.c

index 288cafb..1e35538 100644 (file)
@@ -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