diff options
Diffstat (limited to 'src/backend/rewrite')
-rw-r--r-- | src/backend/rewrite/rewriteDefine.c | 12 | ||||
-rw-r--r-- | src/backend/rewrite/rewriteHandler.c | 30 | ||||
-rw-r--r-- | src/backend/rewrite/rewriteManip.c | 10 |
3 files changed, 27 insertions, 25 deletions
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c index 1cd340f978a..685eebc577f 100644 --- a/src/backend/rewrite/rewriteDefine.c +++ b/src/backend/rewrite/rewriteDefine.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/rewrite/rewriteDefine.c,v 1.94 2004/05/18 22:49:51 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/rewrite/rewriteDefine.c,v 1.95 2004/05/26 04:41:33 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -167,7 +167,7 @@ InsertRule(char *rulname, if (event_qual != NULL) { /* Find query containing OLD/NEW rtable entries */ - Query *qry = (Query *) lfirst(action); + Query *qry = (Query *) linitial(action); qry = getInsertSelectQuery(qry, NULL); recordDependencyOnExpr(&myself, event_qual, qry->rtable, @@ -193,7 +193,7 @@ DefineQueryRewrite(RuleStmt *stmt) Oid ruleId; int event_attno; Oid event_attype; - List *l; + ListCell *l; Query *query; AclResult aclresult; bool RelisBecomingView = false; @@ -245,7 +245,7 @@ DefineQueryRewrite(RuleStmt *stmt) */ if (event_type == CMD_SELECT) { - List *tllist; + ListCell *tllist; int i; /* @@ -268,7 +268,7 @@ DefineQueryRewrite(RuleStmt *stmt) /* * ... the one action must be a SELECT, ... */ - query = (Query *) lfirst(action); + query = (Query *) linitial(action); if (!is_instead || query->commandType != CMD_SELECT) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -509,7 +509,7 @@ DefineQueryRewrite(RuleStmt *stmt) static void setRuleCheckAsUser_Query(Query *qry, AclId userid) { - List *l; + ListCell *l; /* Set all the RTEs in this query node */ foreach(l, qry->rtable) diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index 3b898b973d8..9ac665449ce 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.135 2004/05/10 22:44:46 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/rewrite/rewriteHandler.c,v 1.136 2004/05/26 04:41:33 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -238,13 +238,13 @@ static List * adjustJoinTreeList(Query *parsetree, bool removert, int rt_index) { List *newjointree = copyObject(parsetree->jointree->fromlist); - List *jjt; + ListCell *l; if (removert) { - foreach(jjt, newjointree) + foreach(l, newjointree) { - RangeTblRef *rtr = lfirst(jjt); + RangeTblRef *rtr = lfirst(l); if (IsA(rtr, RangeTblRef) && rtr->rtindex == rt_index) @@ -295,7 +295,7 @@ rewriteTargetList(Query *parsetree, Relation target_relation) List *new_tlist = NIL; int attrno, numattrs; - List *temp; + ListCell *temp; /* * Scan the tuple description in the relation's relcache entry to make @@ -627,7 +627,7 @@ ApplyRetrieveRule(Query *parsetree, * Make a modifiable copy of the view query, and recursively expand * any view references inside it. */ - rule_action = copyObject(lfirst(rule->actions)); + rule_action = copyObject(linitial(rule->actions)); rule_action = fireRIRrules(rule_action, activeRIRs); @@ -687,7 +687,7 @@ static void markQueryForUpdate(Query *qry, bool skipOldNew) { Index rti = 0; - List *l; + ListCell *l; foreach(l, qry->rtable) { @@ -865,7 +865,7 @@ fireRIRrules(Query *parsetree, List *activeRIRs) if (locks != NIL) { List *newActiveRIRs; - List *l; + ListCell *l; if (oidMember(RelationGetRelid(rel), activeRIRs)) ereport(ERROR, @@ -995,15 +995,15 @@ fireRules(Query *parsetree, Query **qual_product) { List *results = NIL; - List *i; + ListCell *l; - foreach(i, locks) + foreach(l, locks) { - RewriteRule *rule_lock = (RewriteRule *) lfirst(i); + RewriteRule *rule_lock = (RewriteRule *) lfirst(l); Node *event_qual = rule_lock->qual; List *actions = rule_lock->actions; QuerySource qsrc; - List *r; + ListCell *r; /* Determine correct QuerySource value for actions */ if (rule_lock->isInstead) @@ -1143,8 +1143,8 @@ RewriteQuery(Query *parsetree, List *rewrite_events) */ if (product_queries != NIL) { - List *n; - rewrite_event *rev; + ListCell *n; + rewrite_event *rev; foreach(n, rewrite_events) { @@ -1225,7 +1225,7 @@ QueryRewrite(Query *parsetree) { List *querylist; List *results = NIL; - List *l; + ListCell *l; CmdType origCmdType; bool foundOriginalQuery; Query *lastInstead; diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c index 45b60715966..4079230c0b1 100644 --- a/src/backend/rewrite/rewriteManip.c +++ b/src/backend/rewrite/rewriteManip.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/rewrite/rewriteManip.c,v 1.82 2004/05/10 22:44:46 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/rewrite/rewriteManip.c,v 1.83 2004/05/26 04:41:33 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -216,7 +216,6 @@ OffsetVarNodes(Node *node, int offset, int sublevels_up) if (node && IsA(node, Query)) { Query *qry = (Query *) node; - List *l; /* * If we are starting at a Query, and sublevels_up is zero, then @@ -227,6 +226,8 @@ OffsetVarNodes(Node *node, int offset, int sublevels_up) */ if (sublevels_up == 0) { + ListCell *l; + if (qry->resultRelation) qry->resultRelation += offset; foreach(l, qry->rowMarks) @@ -356,7 +357,6 @@ ChangeVarNodes(Node *node, int rt_index, int new_index, int sublevels_up) if (node && IsA(node, Query)) { Query *qry = (Query *) node; - List *l; /* * If we are starting at a Query, and sublevels_up is zero, then @@ -367,6 +367,8 @@ ChangeVarNodes(Node *node, int rt_index, int new_index, int sublevels_up) */ if (sublevels_up == 0) { + ListCell *l; + if (qry->resultRelation == rt_index) qry->resultRelation = new_index; foreach(l, qry->rowMarks) @@ -678,7 +680,7 @@ getInsertSelectQuery(Query *parsetree, Query ***subquery_ptr) Assert(parsetree->jointree && IsA(parsetree->jointree, FromExpr)); if (length(parsetree->jointree->fromlist) != 1) elog(ERROR, "expected to find SELECT subquery"); - rtr = (RangeTblRef *) lfirst(parsetree->jointree->fromlist); + rtr = (RangeTblRef *) linitial(parsetree->jointree->fromlist); Assert(IsA(rtr, RangeTblRef)); selectrte = rt_fetch(rtr->rtindex, parsetree->rtable); selectquery = selectrte->subquery; |