diff options
Diffstat (limited to 'src/backend/rewrite')
| -rw-r--r-- | src/backend/rewrite/rewriteDefine.c | 9 | ||||
| -rw-r--r-- | src/backend/rewrite/rewriteSupport.c | 4 |
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); |
