From 732a1fd1d08c6151cc9574203f52fe59828910ad Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 24 Apr 2006 01:40:48 +0000 Subject: [PATCH] Don't add a shared dependency on the owner of a composite type in pg_class. We track the owner in pg_type instead, as that is the place where the owner is changed on ALTER TYPE ... OWNER TO. --- src/backend/catalog/heap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 214eb7833c..962a382b79 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.295 2006/03/05 15:58:22 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.296 2006/04/24 01:40:48 alvherre Exp $ * * * INTERFACE ROUTINES @@ -772,7 +772,13 @@ heap_create_with_catalog(const char *relname, referenced.objectSubId = 0; recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL); - recordDependencyOnOwner(RelationRelationId, relid, ownerid); + /* + * For composite types, the dependency on owner is tracked for the + * pg_type entry, so don't record it here. All other relkinds need + * their ownership tracked. + */ + if (relkind != RELKIND_COMPOSITE_TYPE) + recordDependencyOnOwner(RelationRelationId, relid, ownerid); } /*