From: Tom Lane Date: Sun, 29 May 2005 18:34:57 +0000 (+0000) Subject: Avoid unnecessary call of rangeTableEntry_used() for the result relation X-Git-Tag: REL8_1_0BETA1~708 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7cac50271d891c21b08fe760103005a77a5e3eed;p=postgresql Avoid unnecessary call of rangeTableEntry_used() for the result relation of a query. --- diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index a317764c43..73c8dbab12 100644 --- 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); }