summaryrefslogtreecommitdiff
path: root/src/backend/rewrite
diff options
context:
space:
mode:
authorTom Lane2004-02-10 01:55:27 +0000
committerTom Lane2004-02-10 01:55:27 +0000
commit87bd95638552b8fc1f5f787ce5b862bb6fc2eb80 (patch)
treeb2b98d5a934750a9ee791992120343b109dac31d /src/backend/rewrite
parentf06e79525a57ccbf54ae5d0b673cd904ca978d67 (diff)
Restructure smgr API as per recent proposal. smgr no longer depends on
the relcache, and so the notion of 'blind write' is gone. This should improve efficiency in bgwriter and background checkpoint processes. Internal restructuring in md.c to remove the not-very-useful array of MdfdVec objects --- might as well just use pointers. Also remove the long-dead 'persistent main memory' storage manager (mm.c), since it seems quite unlikely to ever get resurrected.
Diffstat (limited to 'src/backend/rewrite')
-rw-r--r--src/backend/rewrite/rewriteDefine.c9
-rw-r--r--src/backend/rewrite/rewriteSupport.c4
2 files changed, 9 insertions, 4 deletions
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c
index f1cbe96fd2a..995afe5509e 100644
--- a/src/backend/rewrite/rewriteDefine.c
+++ b/src/backend/rewrite/rewriteDefine.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/rewrite/rewriteDefine.c,v 1.92 2004/01/14 23:01:55 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/rewrite/rewriteDefine.c,v 1.93 2004/02/10 01:55:25 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -480,7 +480,12 @@ DefineQueryRewrite(RuleStmt *stmt)
* XXX what about getting rid of its TOAST table? For now, we don't.
*/
if (RelisBecomingView)
- smgrunlink(DEFAULT_SMGR, event_relation);
+ {
+ if (event_relation->rd_smgr == NULL)
+ event_relation->rd_smgr = smgropen(event_relation->rd_node);
+ smgrscheduleunlink(event_relation->rd_smgr, event_relation->rd_istemp);
+ event_relation->rd_smgr = NULL;
+ }
/* Close rel, but keep lock till commit... */
heap_close(event_relation, NoLock);
diff --git a/src/backend/rewrite/rewriteSupport.c b/src/backend/rewrite/rewriteSupport.c
index 54fdcfcddeb..6e01de4b5cb 100644
--- a/src/backend/rewrite/rewriteSupport.c
+++ b/src/backend/rewrite/rewriteSupport.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/rewrite/rewriteSupport.c,v 1.57 2003/11/29 19:51:55 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/rewrite/rewriteSupport.c,v 1.58 2004/02/10 01:55:25 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -84,7 +84,7 @@ SetRelationRuleStatus(Oid relationId, bool relHasRules,
else
{
/* no need to change tuple, but force relcache rebuild anyway */
- CacheInvalidateRelcache(relationId);
+ CacheInvalidateRelcacheByTuple(tuple);
}
heap_freetuple(tuple);