From 6fdc44be71e7732b4a9550d04befcc9144ef188f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 11 Sep 2002 14:48:55 +0000 Subject: Tweak querytree-dependency-extraction code so that columns of tables that are explicitly JOINed are not considered dependencies unless they are actually used in the query: mere presence in the joinaliasvars list of a JOIN RTE doesn't count as being used. The patch touches a number of files because I needed to generalize the API of query_tree_walker to support an additional flag bit, but the changes are otherwise quite small. --- src/backend/rewrite/rewriteDefine.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/backend/rewrite/rewriteDefine.c') diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c index 2aa4fdd892..1933482faa 100644 --- a/src/backend/rewrite/rewriteDefine.c +++ b/src/backend/rewrite/rewriteDefine.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteDefine.c,v 1.79 2002/09/04 20:31:25 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteDefine.c,v 1.80 2002/09/11 14:48:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -464,9 +464,10 @@ setRuleCheckAsUser(Query *qry, Oid userid) } /* If there are sublinks, search for them and process their RTEs */ + /* ignore subqueries in rtable because we already processed them */ if (qry->hasSubLinks) query_tree_walker(qry, setRuleCheckAsUser_walker, (void *) &userid, - false /* already did the ones in rtable */ ); + QTW_IGNORE_SUBQUERIES); } /* -- cgit v1.2.1