Re: pg_upgrade tests vs alter generic changes

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_upgrade tests vs alter generic changes
Date: 2012-09-29 17:49:58
Message-ID: 506734C6.3060408@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 09/29/2012 11:49 AM, Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>> The recent alter generic tests have broken pg_upgrade testing on Windows
>> and probably other non-collation-supporting platforms.
> Is it still broken after Alvaro added the alternate expected file, and
> if so why? I don't see a reason that this should be failing only there.
> I also note that it seems to be passing fine on buildfarm members other
> than pitta.

Well, that's a very good point. chough is actually the same machine,
doing an MSVC build. So why would this test pass there? I'll investigate
a bit more. Here's what the regression diffs look like when run from
pg_upgrade on pitta:

cheers

andrew

***
c:/MinGW/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.7132/../pgsql/src/test/regress/expected/alter_generic_1.out
Sat Sep 29 02:01:44 2012
---
c:/MinGW/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.7132/src/test/regress/results/alter_generic.out
Sat Sep 29 13:41:39 2012
***************
*** 110,137 ****
-- can't test this: the error message includes the encoding name
-- ALTER COLLATION alt_coll1 RENAME TO alt_coll2; -- failed (name
conflict)
ALTER COLLATION alt_coll1 RENAME TO alt_coll3; -- OK
! ERROR: collation "alt_coll1" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll2 OWNER TO regtest_alter_user2; -- failed
(no role membership)
! ERROR: collation "alt_coll2" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll2 OWNER TO regtest_alter_user3; -- OK
! ERROR: collation "alt_coll2" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll2 SET SCHEMA alt_nsp2; -- OK
! ERROR: collation "alt_coll2" for encoding "SQL_ASCII" does not exist
SET SESSION AUTHORIZATION regtest_alter_user2;
CREATE COLLATION alt_coll1 (locale = 'C');
ERROR: nondefault collations are not supported on this platform
CREATE COLLATION alt_coll2 (locale = 'C');
ERROR: nondefault collations are not supported on this platform
ALTER COLLATION alt_coll3 RENAME TO alt_coll4; -- failed (not owner)
! ERROR: collation "alt_coll3" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll1 RENAME TO alt_coll4; -- OK
! ERROR: collation "alt_coll1" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll3 OWNER TO regtest_alter_user2; -- failed
(not owner)
! ERROR: collation "alt_coll3" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll2 OWNER TO regtest_alter_user3; -- failed
(no role membership)
! ERROR: collation "alt_coll2" for encoding "SQL_ASCII" does not exist
ALTER COLLATION alt_coll3 SET SCHEMA alt_nsp2; -- failed (not owner)
! ERROR: collation "alt_coll3" for encoding "SQL_ASCII" does not exist
-- can't test this: the error message includes the encoding name
-- ALTER COLLATION alt_coll2 SET SCHEMA alt_nsp2; -- failed (name
conflict)
RESET SESSION AUTHORIZATION;
--- 110,137 ----
-- can't test this: the error message includes the encoding name
-- ALTER COLLATION alt_coll1 RENAME TO alt_coll2; -- failed (name
conflict)
ALTER COLLATION alt_coll1 RENAME TO alt_coll3; -- OK
! ERROR: collation "alt_coll1" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll2 OWNER TO regtest_alter_user2; -- failed
(no role membership)
! ERROR: collation "alt_coll2" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll2 OWNER TO regtest_alter_user3; -- OK
! ERROR: collation "alt_coll2" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll2 SET SCHEMA alt_nsp2; -- OK
! ERROR: collation "alt_coll2" for encoding "WIN1252" does not exist
SET SESSION AUTHORIZATION regtest_alter_user2;
CREATE COLLATION alt_coll1 (locale = 'C');
ERROR: nondefault collations are not supported on this platform
CREATE COLLATION alt_coll2 (locale = 'C');
ERROR: nondefault collations are not supported on this platform
ALTER COLLATION alt_coll3 RENAME TO alt_coll4; -- failed (not owner)
! ERROR: collation "alt_coll3" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll1 RENAME TO alt_coll4; -- OK
! ERROR: collation "alt_coll1" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll3 OWNER TO regtest_alter_user2; -- failed
(not owner)
! ERROR: collation "alt_coll3" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll2 OWNER TO regtest_alter_user3; -- failed
(no role membership)
! ERROR: collation "alt_coll2" for encoding "WIN1252" does not exist
ALTER COLLATION alt_coll3 SET SCHEMA alt_nsp2; -- failed (not owner)
! ERROR: collation "alt_coll3" for encoding "WIN1252" does not exist
-- can't test this: the error message includes the encoding name
-- ALTER COLLATION alt_coll2 SET SCHEMA alt_nsp2; -- failed (name
conflict)
RESET SESSION AUTHORIZATION;

======================================================================

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-09-29 17:57:11 Re: pg_upgrade tests vs alter generic changes
Previous Message Tom Lane 2012-09-29 17:46:27 Re: Unportable use of uname in pg_upgrade test script