From: Tom Lane Date: Fri, 25 Mar 2005 18:04:47 +0000 (+0000) Subject: Fix two bugs in change_owner_recurse_to_sequences: it was grabbing an X-Git-Tag: REL8_0_2~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=42a00ef3b8b6294aaf637feed7b0cea628f8da65;p=thirdparty%2Fpostgresql.git Fix two bugs in change_owner_recurse_to_sequences: it was grabbing an overly strong lock on pg_depend, and it wasn't closing the rel when done. The latter bug was masked by the ResourceOwner code, which is something that should be changed. --- diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 5d80b748503..2ab6a114c2a 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.142.4.2 2005/02/09 23:27:24 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.142.4.3 2005/03/25 18:04:47 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -5356,7 +5356,7 @@ change_owner_recurse_to_sequences(Oid relationOid, int32 newOwnerSysId) * SERIAL sequences are those having an internal dependency on one * of the table's columns (we don't care *which* column, exactly). */ - depRel = heap_openr(DependRelationName, RowExclusiveLock); + depRel = heap_openr(DependRelationName, AccessShareLock); ScanKeyInit(&key[0], Anum_pg_depend_refclassid, @@ -5402,6 +5402,8 @@ change_owner_recurse_to_sequences(Oid relationOid, int32 newOwnerSysId) } systable_endscan(scan); + + relation_close(depRel, AccessShareLock); } /*