diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2006-04-24 01:40:48 +0000 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2006-04-24 01:40:48 +0000 |
commit | 732a1fd1d08c6151cc9574203f52fe59828910ad (patch) | |
tree | 9a897c47995ff3ab513ad8a4e99881f795e94569 /src | |
parent | 109d0aeb115dfb00c2e5ebe468a54cfc8f0f56e9 (diff) | |
download | postgresql-732a1fd1d08c6151cc9574203f52fe59828910ad.tar.gz postgresql-732a1fd1d08c6151cc9574203f52fe59828910ad.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/catalog/heap.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 214eb7833c6..962a382b79d 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); } /* |