Index: src/backend/utils/adt/datetime.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v retrieving revision 1.144 diff -c -c -r1.144 datetime.c *** src/backend/utils/adt/datetime.c 24 May 2005 02:09:45 -0000 1.144 --- src/backend/utils/adt/datetime.c 24 May 2005 04:11:57 -0000 *************** *** 3444,3450 **** #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); #endif /* chop off trailing pairs of zeros... */ while (strcmp((str + strlen(str) - 2), "00") == 0 && --- 3444,3450 ---- #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); #endif /* chop off trailing pairs of zeros... */ while (strcmp((str + strlen(str) - 2), "00") == 0 && *************** *** 3787,3793 **** sprintf(cp, ".%06d", Abs(fsec)); #else fsec += tm->tm_sec; ! sprintf(cp, ":%013.10f", fabs(fsec)); #endif TrimTrailingZeros(cp); cp += strlen(cp); --- 3787,3793 ---- sprintf(cp, ".%06d", Abs(fsec)); #else fsec += tm->tm_sec; ! sprintf(cp, ":%012.9f", fabs(fsec)); #endif TrimTrailingZeros(cp); cp += strlen(cp); Index: src/interfaces/ecpg/pgtypeslib/interval.c =================================================================== RCS file: /cvsroot/pgsql/src/interfaces/ecpg/pgtypeslib/interval.c,v retrieving revision 1.16 diff -c -c -r1.16 interval.c *** src/interfaces/ecpg/pgtypeslib/interval.c 24 May 2005 02:09:45 -0000 1.16 --- src/interfaces/ecpg/pgtypeslib/interval.c 24 May 2005 04:12:00 -0000 *************** *** 511,517 **** sprintf(cp, ".%06d", (fsec >= 0) ? fsec : -(fsec)); #else fsec += tm->tm_sec; ! sprintf(cp, ":%013.10f", fabs(fsec)); #endif TrimTrailingZeros(cp); cp += strlen(cp); --- 511,517 ---- sprintf(cp, ".%06d", (fsec >= 0) ? fsec : -(fsec)); #else fsec += tm->tm_sec; ! sprintf(cp, ":%012.9f", fabs(fsec)); #endif TrimTrailingZeros(cp); cp += strlen(cp);