git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d66daab)
Avoid unnecessary call of rangeTableEntry_used() for the result relation
2005年5月29日 18:34:57 +0000 (18:34 +0000)
2005年5月29日 18:34:57 +0000 (18:34 +0000)
of a query.


diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c
index a317764c43c2bfdb2315412e3e8321b1d91a11be..73c8dbab12740b7834141c48410ff3ab38a9296d 100644 (file)
--- a/src/backend/rewrite/rewriteHandler.c
+++ b/src/backend/rewrite/rewriteHandler.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/rewrite/rewriteHandler.c,v 1.151 2005年04月28日 21:47:14 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/rewrite/rewriteHandler.c,v 1.152 2005年05月29日 18:34:57 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -699,7 +699,6 @@ ApplyRetrieveRule(Query *parsetree,
int rt_index,
bool relation_level,
Relation relation,
- bool relIsUsed,
List *activeRIRs)
{
Query *rule_action;
@@ -870,7 +869,6 @@ fireRIRrules(Query *parsetree, List *activeRIRs)
RuleLock *rules;
RewriteRule *rule;
LOCKMODE lockmode;
- bool relIsUsed;
int i;
++rt_index;
@@ -901,9 +899,8 @@ fireRIRrules(Query *parsetree, List *activeRIRs)
* part of the join set (a source table), or is referenced by any
* Var nodes, or is the result table.
*/
- relIsUsed = rangeTableEntry_used((Node *) parsetree, rt_index, 0);
-
- if (!relIsUsed && rt_index != parsetree->resultRelation)
+ if (rt_index != parsetree->resultRelation &&
+ !rangeTableEntry_used((Node *) parsetree, rt_index, 0))
continue;
/*
@@ -978,7 +975,6 @@ fireRIRrules(Query *parsetree, List *activeRIRs)
rt_index,
rule->attrno == -1,
rel,
- relIsUsed,
activeRIRs);
}
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /