diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 4e298d7771..13681016b5 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -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() */ +} /* diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 26fd570d67..507f74a71c 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -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); diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h index 21ebfaca05..0704e60c91 100644 --- a/src/include/utils/datetime.h +++ b/src/include/utils/datetime.h @@ -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);