mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-09 08:10:09 +08:00
Back out:
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.
This commit is contained in:
parent
dabde323b2
commit
f35d493d16
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user