提交 7cac5027 编写于 作者: T Tom Lane

Avoid unnecessary call of rangeTableEntry_used() for the result relation

of a query.
上级 d66daabe
......@@ -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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册