diff options
Diffstat (limited to 'src/backend/catalog/heap.c')
| -rw-r--r-- | src/backend/catalog/heap.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 51933d32ed..076e1e0462 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.209 2002/07/16 22:12:18 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.210 2002/07/18 16:47:22 tgl Exp $ * * * INTERFACE ROUTINES @@ -743,6 +743,25 @@ heap_create_with_catalog(const char *relname, relhasoids, relkind); /* + * make a dependency link to force the relation to be deleted if + * its namespace is. Skip this in bootstrap mode, since we don't + * make dependencies while bootstrapping. + */ + if (!IsBootstrapProcessingMode()) + { + ObjectAddress myself, + referenced; + + myself.classId = RelOid_pg_class; + myself.objectId = new_rel_oid; + myself.objectSubId = 0; + referenced.classId = get_system_catalog_relid(NamespaceRelationName); + referenced.objectId = relnamespace; + referenced.objectSubId = 0; + recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL); + } + + /* * store constraints and defaults passed in the tupdesc, if any. * * NB: this may do a CommandCounterIncrement and rebuild the relcache |
