aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-05-26 03:48:25 +0000
committerBruce Momjian <bruce@momjian.us>2005-05-26 03:48:25 +0000
commit4c862b18f977bbf7557cbf5a668c68f6f81734c0 (patch)
treeba7a9bc54e22f0347ee539b4c190054c7e9fb250
parentb3195dae49b08ea2271a706f55068896322f1641 (diff)
downloadpostgresql-4c862b18f977bbf7557cbf5a668c68f6f81734c0.tar.gz
postgresql-4c862b18f977bbf7557cbf5a668c68f6f81734c0.zip
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.
-rw-r--r--src/backend/utils/adt/datetime.c6
-rw-r--r--src/interfaces/ecpg/pgtypeslib/interval.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
index 509a89f8602..8677cb29a6f 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 2e644f14c19..5e229f64cc1 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);