From 4c862b18f977bbf7557cbf5a668c68f6f81734c0 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 26 May 2005 03:48:25 +0000 Subject: [PATCH] Display only 9 not 10 digits of precision for timestamp values when using non-integer timestamps. This prevents the display of rounding errors for common values like days < 32. --- src/backend/utils/adt/datetime.c | 6 +++--- src/interfaces/ecpg/pgtypeslib/interval.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 509a89f860..8677cb29a6 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.145 2005/05/26 02:04:13 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.146 2005/05/26 03:48:25 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -3461,7 +3461,7 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str) #ifdef HAVE_INT64_TIMESTAMP sprintf(str + strlen(str), ":%02d.%06d", tm->tm_sec, fsec); #else - sprintf(str + strlen(str), ":%013.10f", tm->tm_sec + fsec); + sprintf(str + strlen(str), ":%012.9f", tm->tm_sec + fsec); #endif /* chop off trailing pairs of zeros... */ while (strcmp((str + strlen(str) - 2), "00") == 0 && @@ -3804,7 +3804,7 @@ EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str) sprintf(cp, ".%06d", Abs(fsec)); #else fsec += tm->tm_sec; - sprintf(cp, ":%013.10f", fabs(fsec)); + sprintf(cp, ":%012.9f", fabs(fsec)); #endif TrimTrailingZeros(cp); cp += strlen(cp); diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c index 2e644f14c1..5e229f64cc 100644 --- a/src/interfaces/ecpg/pgtypeslib/interval.c +++ b/src/interfaces/ecpg/pgtypeslib/interval.c @@ -511,7 +511,7 @@ EncodeInterval(struct tm * tm, fsec_t fsec, int style, char *str) sprintf(cp, ".%06d", (fsec >= 0) ? fsec : -(fsec)); #else fsec += tm->tm_sec; - sprintf(cp, ":%013.10f", fabs(fsec)); + sprintf(cp, ":%012.9f", fabs(fsec)); #endif TrimTrailingZeros(cp); cp += strlen(cp); -- 2.40.0