Remove the useless and rather inconsistent return values of EncodeDateOnly,
authorTom Lane <[email protected]>
Tue, 26 May 2009 02:17:50 +0000 (02:17 +0000)
committerTom Lane <[email protected]>
Tue, 26 May 2009 02:17:50 +0000 (02:17 +0000)
EncodeTimeOnly, EncodeDateTime, EncodeInterval.  These don't have any good
reason to fail, and their callers were mostly not checking anyway.

src/backend/utils/adt/datetime.c
src/backend/utils/adt/timestamp.c
src/include/utils/datetime.h

index 4e298d77714973be4da4cccc3d4e9510f3e2898a..13681016b516386095f35bfd711d2c9b89b80721 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.204 2009/05/01 19:29:07 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.205 2009/05/26 02:17:50 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -3601,11 +3601,10 @@ EncodeTimezone(char *str, int tz, int style)
 /* EncodeDateOnly()
  * Encode date as local time.
  */
-int
+void
 EncodeDateOnly(struct pg_tm * tm, int style, char *str)
 {
-   if (tm->tm_mon < 1 || tm->tm_mon > MONTHS_PER_YEAR)
-       return -1;
+   Assert(tm->tm_mon >= 1 && tm->tm_mon <= MONTHS_PER_YEAR);
 
    switch (style)
    {
@@ -3654,20 +3653,15 @@ EncodeDateOnly(struct pg_tm * tm, int style, char *str)
                sprintf(str + 5, "-%04d %s", -(tm->tm_year - 1), "BC");
            break;
    }
-
-   return TRUE;
-}  /* EncodeDateOnly() */
+}
 
 
 /* EncodeTimeOnly()
  * Encode time fields only.
  */
-int
+void
 EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
 {
-   if (tm->tm_hour < 0 || tm->tm_hour > HOURS_PER_DAY)
-       return -1;
-
    sprintf(str, "%02d:%02d:", tm->tm_hour, tm->tm_min);
    str += strlen(str);
 
@@ -3675,9 +3669,7 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
 
    if (tzp != NULL)
        EncodeTimezone(str, *tzp, style);
-
-   return TRUE;
-}  /* EncodeTimeOnly() */
+}
 
 
 /* EncodeDateTime()
@@ -3692,15 +3684,11 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
  * US - mm/dd/yyyy
  * European - dd/mm/yyyy
  */
-int
+void
 EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, char *str)
 {
    int         day;
 
-   /*
-    * Why are we checking only the month field? Change this to an assert...
-    * if (tm->tm_mon < 1 || tm->tm_mon > MONTHS_PER_YEAR) return -1;
-    */
    Assert(tm->tm_mon >= 1 && tm->tm_mon <= MONTHS_PER_YEAR);
 
    switch (style)
@@ -3825,8 +3813,6 @@ EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style,
                sprintf(str + strlen(str), " BC");
            break;
    }
-
-   return TRUE;
 }
 
 
@@ -3906,7 +3892,7 @@ AddVerboseIntPart(char *cp, int value, const char *units,
  * "year-month literal"s (that look like '2-3') and
  * "day-time literal"s (that look like ('4 5:6:7')
  */
-int
+void
 EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str)
 {
    char       *cp = str;
@@ -4083,9 +4069,7 @@ EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str)
                strcat(cp, " ago");
            break;
    }
-
-   return 0;
-}  /* EncodeInterval() */
+}
 
 
 /*
index 26fd570d672da3ecd9a5dfc54936fd3f64aa1e86..507f74a71cd096e72bbd241c35f6f4259a9c6eef 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.198 2009/04/04 04:53:25 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.199 2009/05/26 02:17:50 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -684,8 +684,7 @@ interval_out(PG_FUNCTION_ARGS)
    if (interval2tm(*span, tm, &fsec) != 0)
        elog(ERROR, "could not convert interval to tm");
 
-   if (EncodeInterval(tm, fsec, IntervalStyle, buf) != 0)
-       elog(ERROR, "could not format interval");
+   EncodeInterval(tm, fsec, IntervalStyle, buf);
 
    result = pstrdup(buf);
    PG_RETURN_CSTRING(result);
index 21ebfaca05b335baa678c6fe54f36c37b7b4b0fc..0704e60c919a54f1a23849692d0fa3cfce1e941e 100644 (file)
@@ -9,7 +9,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/utils/datetime.h,v 1.72 2009/01/01 17:24:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/datetime.h,v 1.73 2009/05/26 02:17:50 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -299,10 +299,10 @@ extern void DateTimeParseError(int dterr, const char *str,
 
 extern int DetermineTimeZoneOffset(struct pg_tm * tm, pg_tz *tzp);
 
-extern int EncodeDateOnly(struct pg_tm * tm, int style, char *str);
-extern int EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str);
-extern int EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, char *str);
-extern int EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str);
+extern void EncodeDateOnly(struct pg_tm * tm, int style, char *str);
+extern void EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str);
+extern void EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, char *str);
+extern void EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str);
 
 extern int DecodeSpecial(int field, char *lowtoken, int *val);
 extern int DecodeUnits(int field, char *lowtoken, int *val);