aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/postmaster/pgstat.c7
-rw-r--r--src/backend/storage/smgr/smgr.c14
-rw-r--r--src/include/pgstat.h3
3 files changed, 13 insertions, 11 deletions
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index 5b9989d4814..4097787ec69 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -13,7 +13,7 @@
*
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.160 2007/06/28 00:02:38 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.161 2007/07/08 22:23:16 tgl Exp $
* ----------
*/
#include "postgres.h"
@@ -964,8 +964,12 @@ pgstat_drop_database(Oid databaseid)
* Tell the collector that we just dropped a relation.
* (If the message gets lost, we will still clean the dead entry eventually
* via future invocations of pgstat_vacuum_tabstat().)
+ *
+ * Currently not used for lack of any good place to call it; we rely
+ * entirely on pgstat_vacuum_tabstat() to clean out stats for dead rels.
* ----------
*/
+#ifdef NOT_USED
void
pgstat_drop_relation(Oid relid)
{
@@ -984,6 +988,7 @@ pgstat_drop_relation(Oid relid)
msg.m_databaseid = MyDatabaseId;
pgstat_send(&msg, len);
}
+#endif /* NOT_USED */
/* ----------
diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c
index 3c351161888..240329ae66d 100644
--- a/src/backend/storage/smgr/smgr.c
+++ b/src/backend/storage/smgr/smgr.c
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/storage/smgr/smgr.c,v 1.103 2007/01/05 22:19:39 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/storage/smgr/smgr.c,v 1.104 2007/07/08 22:23:16 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -20,11 +20,11 @@
#include "access/xact.h"
#include "access/xlogutils.h"
#include "commands/tablespace.h"
-#include "pgstat.h"
#include "storage/bufmgr.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "storage/smgr.h"
+#include "utils/hsearch.h"
#include "utils/memutils.h"
@@ -452,13 +452,11 @@ smgr_internal_unlink(RelFileNode rnode, int which, bool isTemp, bool isRedo)
FreeSpaceMapForgetRel(&rnode);
/*
- * Tell the stats collector to forget it immediately, too. Skip this in
- * recovery mode, since the stats collector likely isn't running (and if
- * it is, pgstat.c will get confused because we aren't a real backend
- * process).
+ * It'd be nice to tell the stats collector to forget it immediately, too.
+ * But we can't because we don't know the OID (and in cases involving
+ * relfilenode swaps, it's not always clear which table OID to forget,
+ * anyway).
*/
- if (!InRecovery)
- pgstat_drop_relation(rnode.relNode);
/*
* And delete the physical files.
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index acdd039b3e4..960daac5000 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/include/pgstat.h,v 1.63 2007/06/28 00:02:40 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/pgstat.h,v 1.64 2007/07/08 22:23:16 tgl Exp $
* ----------
*/
#ifndef PGSTAT_H
@@ -486,7 +486,6 @@ extern void pgstat_ping(void);
extern void pgstat_report_tabstat(bool force);
extern void pgstat_vacuum_tabstat(void);
extern void pgstat_drop_database(Oid databaseid);
-extern void pgstat_drop_relation(Oid relid);
extern void pgstat_clear_snapshot(void);
extern void pgstat_reset_counters(void);