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.
This commit is contained in:
parent
2b321533f3
commit
0a9cbcbfd2
src/backend
@ -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,
|
|||||||
* 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 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* 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)
|
|||||||
/*
|
/*
|
||||||
* 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);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user