]> granicus.if.org Git - postgresql/commitdiff
Back out:
authorBruce Momjian <bruce@momjian.us>
Thu, 26 May 2005 15:26:00 +0000 (15:26 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 26 May 2005 15:26:00 +0000 (15:26 +0000)
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
src/interfaces/ecpg/pgtypeslib/interval.c

index 8677cb29a6f059ba767ccf6f12b7cd321e78affe..119ab116bd930e4ac162afb7e0468a5ff79db440 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.146 2005/05/26 03:48:25 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.147 2005/05/26 15:26:00 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), ":%012.9f", tm->tm_sec + fsec);
+               sprintf(str + strlen(str), ":%013.10f", 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, ":%012.9f", fabs(fsec));
+                                       sprintf(cp, ":%013.10f", fabs(fsec));
 #endif
                                        TrimTrailingZeros(cp);
                                        cp += strlen(cp);
index 5e229f64cc1e9bcaa5dec23b3c4d6488c32f8cda..2e644f14c19060951ff2eb6134d810a8214028b6 100644 (file)
@@ -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, ":%012.9f", fabs(fsec));
+                                       sprintf(cp, ":%013.10f", fabs(fsec));
 #endif
                                        TrimTrailingZeros(cp);
                                        cp += strlen(cp);