Commit 0a9cbcbf authored by Tom Lane's avatar Tom Lane

Get rid of the pg_shdepend entry for a TOAST table; it's unnecessary since

there's an indirect dependency on the owner via the parent table.  We were
already handling indexes that way, but not toast tables for some reason.
Saves a little catalog space and cuts down the verbosity of checkSharedDependencies
reports.
parent 2b321533
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.320 2007/05/12 00:54:59 tgl Exp $ * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.321 2007/05/14 20:24:41 tgl Exp $
* *
* *
* INTERFACE ROUTINES * INTERFACE ROUTINES
...@@ -958,10 +958,14 @@ heap_create_with_catalog(const char *relname, ...@@ -958,10 +958,14 @@ heap_create_with_catalog(const char *relname,
* namespace is. Also make a dependency link to its owner. * namespace is. Also make a dependency link to its owner.
* *
* For composite types, these dependencies are tracked for the pg_type * For composite types, these dependencies are tracked for the pg_type
* entry, so we needn't record them here. Also, skip this in bootstrap * entry, so we needn't record them here. Likewise, TOAST tables don't
* mode, since we don't make dependencies while bootstrapping. * need a namespace dependency (they live in a pinned namespace) nor an
* owner dependency (they depend indirectly through the parent table).
* Also, skip this in bootstrap mode, since we don't make dependencies
* while bootstrapping.
*/ */
if (relkind != RELKIND_COMPOSITE_TYPE && if (relkind != RELKIND_COMPOSITE_TYPE &&
relkind != RELKIND_TOASTVALUE &&
!IsBootstrapProcessingMode()) !IsBootstrapProcessingMode())
{ {
ObjectAddress myself, ObjectAddress myself,
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.222 2007/05/12 00:54:59 tgl Exp $ * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.223 2007/05/14 20:24:41 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -5478,10 +5478,11 @@ ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing) ...@@ -5478,10 +5478,11 @@ ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing)
/* /*
* Update owner dependency reference, if any. A composite type has * Update owner dependency reference, if any. A composite type has
* none, because it's tracked for the pg_type entry instead of here; * none, because it's tracked for the pg_type entry instead of here;
* indexes don't have their own entries either. * indexes and TOAST tables don't have their own entries either.
*/ */
if (tuple_class->relkind != RELKIND_COMPOSITE_TYPE && if (tuple_class->relkind != RELKIND_COMPOSITE_TYPE &&
tuple_class->relkind != RELKIND_INDEX) tuple_class->relkind != RELKIND_INDEX &&
tuple_class->relkind != RELKIND_TOASTVALUE)
changeDependencyOnOwner(RelationRelationId, relationOid, changeDependencyOnOwner(RelationRelationId, relationOid,
newOwnerId); newOwnerId);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment