diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-03-30 15:53:18 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-03-30 15:53:18 +0000 |
commit | fd071bd478f489c81208029265e1fef954a9b5fa (patch) | |
tree | a93be11ef80a963d363e7e158bb28078ad5414e5 /src/backend/utils/adt/formatting.c | |
parent | f2c064afcbfad4999d7e9ccb644a8aa99463a1ac (diff) | |
download | postgresql-fd071bd478f489c81208029265e1fef954a9b5fa.tar.gz postgresql-fd071bd478f489c81208029265e1fef954a9b5fa.zip |
Fix to_char for 1 BC. Previously it returned 1 AD.
Fix to_char(year) for BC dates. Previously it returned one less than
the current year.
Add documentation mentioning that there is no 0 AD.
Diffstat (limited to 'src/backend/utils/adt/formatting.c')
-rw-r--r-- | src/backend/utils/adt/formatting.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 25db1b0f5d3..3393a0ac4ce 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.72 2004/01/07 18:56:28 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.73 2004/03/30 15:53:18 momjian Exp $ * * * Portions Copyright (c) 1999-2003, PostgreSQL Global Development Group @@ -169,7 +169,7 @@ static char *months_full[] = { * AC / DC * ---------- */ -#define YEAR_ABS(_y) (_y < 0 ? -(_y -1) : _y) +#define YEAR_ABS(_y) (_y <= 0 ? -(_y -1) : _y) #define BC_STR_ORIG " BC" #define A_D_STR "A.D." @@ -2119,7 +2119,7 @@ dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, void *data) case DCH_B_C: if (flag == TO_CHAR) { - strcpy(inout, (tm->tm_year < 0 ? B_C_STR : A_D_STR)); + strcpy(inout, (tm->tm_year <= 0 ? B_C_STR : A_D_STR)); return 3; } @@ -2134,7 +2134,7 @@ dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, void *data) case DCH_BC: if (flag == TO_CHAR) { - strcpy(inout, (tm->tm_year < 0 ? BC_STR : AD_STR)); + strcpy(inout, (tm->tm_year <= 0 ? BC_STR : AD_STR)); return 1; } @@ -2149,7 +2149,7 @@ dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, void *data) case DCH_b_c: if (flag == TO_CHAR) { - strcpy(inout, (tm->tm_year < 0 ? b_c_STR : a_d_STR)); + strcpy(inout, (tm->tm_year <= 0 ? b_c_STR : a_d_STR)); return 3; } @@ -2164,7 +2164,7 @@ dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, void *data) case DCH_bc: if (flag == TO_CHAR) { - strcpy(inout, (tm->tm_year < 0 ? bc_STR : ad_STR)); + strcpy(inout, (tm->tm_year <= 0 ? bc_STR : ad_STR)); return 1; } |