Index: src/backend/utils/adt/datetime.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v
retrieving revision 1.184.2.3
diff -c -r1.184.2.3 datetime.c
*** src/backend/utils/adt/datetime.c	2 Oct 2008 13:47:44 -0000	1.184.2.3
--- src/backend/utils/adt/datetime.c	3 Aug 2009 00:26:53 -0000
***************
*** 408,424 ****
  {
  	int			len = strlen(str);
  
! #if 0
! 	/* chop off trailing one to cope with interval rounding */
! 	if (strcmp(str + len - 4, "0001") == 0)
! 	{
! 		len -= 4;
! 		*(str + len) = '\0';
! 	}
! #endif
! 
! 	/* chop off trailing zeros... but leave at least 2 fractional digits */
! 	while (*(str + len - 1) == '0' && *(str + len - 3) != '.')
  	{
  		len--;
  		*(str + len) = '\0';
--- 408,414 ----
  {
  	int			len = strlen(str);
  
! 	while (len > 1 && *(str + len - 1) == '0' && *(str + len - 2) != '.')
  	{
  		len--;
  		*(str + len) = '\0';
