aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-05-25 21:25:32 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-05-25 21:25:32 +0000
commit445f1acf7ad1bd700b93a47af7a7a1b9ee46274c (patch)
tree21c168a21772db2a377a6113273531638dec0d85 /src
parent69cc16f47e569306ee8e47613e1a78c13a4abcd1 (diff)
downloadpostgresql-445f1acf7ad1bd700b93a47af7a7a1b9ee46274c.tar.gz
postgresql-445f1acf7ad1bd700b93a47af7a7a1b9ee46274c.zip
heap_drop() should flush the relcache entry for the
relation being dropped.
Diffstat (limited to 'src')
-rw-r--r--src/backend/catalog/heap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 63f0bdc12c9..762bff810d0 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.127 2000/05/20 23:11:29 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.128 2000/05/25 21:25:32 tgl Exp $
*
*
* INTERFACE ROUTINES
@@ -1578,12 +1578,15 @@ heap_drop_with_catalog(const char *relname)
void
heap_drop(Relation rel)
{
+ Oid rid = RelationGetRelid(rel);
+
ReleaseRelationBuffers(rel);
if (!(rel->rd_isnoname) || !(rel->rd_unlinked))
smgrunlink(DEFAULT_SMGR, rel);
rel->rd_unlinked = TRUE;
heap_close(rel, NoLock);
RemoveFromNoNameRelList(rel);
+ RelationForgetRelation(rid);
}