diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-05-29 18:34:57 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-05-29 18:34:57 +0000 |
commit | 7cac50271d891c21b08fe760103005a77a5e3eed (patch) | |
tree | 01717d389b0e2267247518a418d65d8e61216745 /src | |
parent | d66daabec948df2a332a9b48ec5aa49145170d80 (diff) | |
download | postgresql-7cac50271d891c21b08fe760103005a77a5e3eed.tar.gz postgresql-7cac50271d891c21b08fe760103005a77a5e3eed.zip |
Avoid unnecessary call of rangeTableEntry_used() for the result relation
of a query.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/rewrite/rewriteHandler.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index a317764c43c..73c8dbab127 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); } |