Remove the useless and rather inconsistent return values of EncodeDateOnly,

EncodeTimeOnly, EncodeDateTime, EncodeInterval.  These don't have any good
reason to fail, and their callers were mostly not checking anyway.
REL8_5_ALPHA1_BRANCH
Tom Lane 17 years ago
parent 8af641ac1f
commit 99bf328237
  1. 34
      src/backend/utils/adt/datetime.c
  2. 5
      src/backend/utils/adt/timestamp.c
  3. 10
      src/include/utils/datetime.h

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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() /* EncodeDateOnly()
* Encode date as local time. * Encode date as local time.
*/ */
int void
EncodeDateOnly(struct pg_tm * tm, int style, char *str) EncodeDateOnly(struct pg_tm * tm, int style, char *str)
{ {
if (tm->tm_mon < 1 || tm->tm_mon > MONTHS_PER_YEAR) Assert(tm->tm_mon >= 1 && tm->tm_mon <= MONTHS_PER_YEAR);
return -1;
switch (style) 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"); sprintf(str + 5, "-%04d %s", -(tm->tm_year - 1), "BC");
break; break;
} }
}
return TRUE;
} /* EncodeDateOnly() */
/* EncodeTimeOnly() /* EncodeTimeOnly()
* Encode time fields only. * Encode time fields only.
*/ */
int void
EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str) 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); sprintf(str, "%02d:%02d:", tm->tm_hour, tm->tm_min);
str += strlen(str); str += strlen(str);
@ -3675,9 +3669,7 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
if (tzp != NULL) if (tzp != NULL)
EncodeTimezone(str, *tzp, style); EncodeTimezone(str, *tzp, style);
}
return TRUE;
} /* EncodeTimeOnly() */
/* EncodeDateTime() /* EncodeDateTime()
@ -3692,15 +3684,11 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
* US - mm/dd/yyyy * US - mm/dd/yyyy
* European - dd/mm/yyyy * European - dd/mm/yyyy
*/ */
int void
EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, char *str) EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, char *str)
{ {
int day; 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); Assert(tm->tm_mon >= 1 && tm->tm_mon <= MONTHS_PER_YEAR);
switch (style) 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"); sprintf(str + strlen(str), " BC");
break; 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 * "year-month literal"s (that look like '2-3') and
* "day-time literal"s (that look like ('4 5:6:7') * "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) EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str)
{ {
char *cp = str; char *cp = str;
@ -4083,9 +4069,7 @@ EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str)
strcat(cp, " ago"); strcat(cp, " ago");
break; break;
} }
}
return 0;
} /* EncodeInterval() */
/* /*

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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) if (interval2tm(*span, tm, &fsec) != 0)
elog(ERROR, "could not convert interval to tm"); elog(ERROR, "could not convert interval to tm");
if (EncodeInterval(tm, fsec, IntervalStyle, buf) != 0) EncodeInterval(tm, fsec, IntervalStyle, buf);
elog(ERROR, "could not format interval");
result = pstrdup(buf); result = pstrdup(buf);
PG_RETURN_CSTRING(result); PG_RETURN_CSTRING(result);

@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * 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 DetermineTimeZoneOffset(struct pg_tm * tm, pg_tz *tzp);
extern int EncodeDateOnly(struct pg_tm * tm, int style, char *str); extern void 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 void 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 void 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 EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str);
extern int DecodeSpecial(int field, char *lowtoken, int *val); extern int DecodeSpecial(int field, char *lowtoken, int *val);
extern int DecodeUnits(int field, char *lowtoken, int *val); extern int DecodeUnits(int field, char *lowtoken, int *val);

Loading…
Cancel
Save