Re: [HACKERS] change in timestamp output from 8.3 to 8.4

2009-08-09 Thread Bruce Momjian
Tom Lane wrote:
 Joe Conway m...@joeconway.com writes:
  1. Two functions were left in the 8.4 database
  pg_toasttbl_drop(oid)
  pg_toasttbl_recreate(oid, oid)
 
 This is pg_migrator's fault --- it should probably clean those up
 when it's done.

Agreed.  The new pg_migrator 8.4.4 does clean those up when it finishes.

-- 
  Bruce Momjian  br...@momjian.ushttp://momjian.us
  EnterpriseDB http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] change in timestamp output from 8.3 to 8.4

2009-08-02 Thread Tom Lane
Joe Conway m...@joeconway.com writes:
 1. Two functions were left in the 8.4 database
   pg_toasttbl_drop(oid)
   pg_toasttbl_recreate(oid, oid)

This is pg_migrator's fault --- it should probably clean those up
when it's done.

 3. All timestamps in the data that have two decimal places on seconds,
but end with zero, in the 8.3 dump become one decimal place in the
8.4 dump

 I have to apologize for missing it if this has been discussed already,
 but was this change intentional, and if so is there any way to force the
 old behavior?

Yes, it was intentional.  The discussion about changing it was
around here:
http://archives.postgresql.org/pgsql-hackers/2008-10/msg00394.php

There's no exposed way to undo it, but you could probably revert the
logic change in TrimTrailingZeros() until you'd convinced yourself
things were okay.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] change in timestamp output from 8.3 to 8.4

2009-08-02 Thread Joe Conway
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Tom Lane wrote:
 Joe Conway m...@joeconway.com writes:
 1. Two functions were left in the 8.4 database
  pg_toasttbl_drop(oid)
  pg_toasttbl_recreate(oid, oid)
 
 This is pg_migrator's fault --- it should probably clean those up
 when it's done.

I figured as much. Not a big deal though...

 3. All timestamps in the data that have two decimal places on seconds,
but end with zero, in the 8.3 dump become one decimal place in the
8.4 dump
 
 I have to apologize for missing it if this has been discussed already,
 but was this change intentional, and if so is there any way to force the
 old behavior?
 
 Yes, it was intentional.  The discussion about changing it was
 around here:
 http://archives.postgresql.org/pgsql-hackers/2008-10/msg00394.php
 
 There's no exposed way to undo it, but you could probably revert the
 logic change in TrimTrailingZeros() until you'd convinced yourself
 things were okay.

Ah, just the shortcut I was hoping for :-)

For the record, and anyone else trying to validate 8.3 to 8.4
migrations, the attached patch against 8.3.x makes it behave the same as
8.4.x. This reduced my version-to-version data diff to zilch.

Thanks!

Joe

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iQIcBAEBCAAGBQJKdjGLAAoJEDfy90M199hlfOoP/3W+kXcvwzfVAxG/2rJWkKBP
ZRX0AG++kNDlzsMWCBSFfht2f3ERu0jnECKwnFb0+JF1EaWQJrPaGar1QqJ1IHZb
Iw9AjJE7LvwgcbC8mGmx1zTaI/DPwOvb+LvJIzUtXeoBLGyJuopvGWbcoOvZxvIX
dZkE97JOS0buTiUtUFedx/fpOv7ck/IRhlC4v83ghWl27mWwQ3K9U9S3kRSy3jB+
ajG0MQ3dSfK7usUgV8tfzdFkHQ8+L8PhehfBgRuqNGS1BQQvbNm7sOLnyjqB35w8
gWI37EZ6NMvVMS+880Y9+ktwpgVqVtAfzshtfzJq8HwtvWSiq6OF5wDhlxtwYLdW
h7xhvK37LoXutPMcf/HjflKoI1c9IhDj6CCwHyrxDRRjzfAvpJu7C+in9JrbvhvV
P1o5PpXuxokwafmNi6Nl8TE9s9Mjagw30tPKTK36IRfbAflbRpAByc39qvSXSRWB
xjzPYVHMY0Vwxmup+A7FXvdbzgC6t2n4O18302By0PKpPkMDZw3vhkJKgWF+i4Ux
no+GdL9Al3srpw4fvqr+GwPu8VnVFo+9fzCTlVMB2ayKWEFghCZUEriNBPJwiWaB
X9LtvrU47S5QkKUNQ0Knbs7Z1jEkIYIVnTIRvm6/Uo+5v2dAgss/0qF6wOx0gbUO
5EqsqcZzKhtkSjWxld7t
=eJkn
-END PGP SIGNATURE-
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 -	1.184.2.3
--- src/backend/utils/adt/datetime.c	3 Aug 2009 00:26:53 -
***
*** 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';

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers