diff options
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r-- | src/backend/optimizer/path/costsize.c | 4 | ||||
-rw-r--r-- | src/backend/optimizer/path/indxpath.c | 6 | ||||
-rw-r--r-- | src/backend/optimizer/path/tidpath.c | 6 | ||||
-rw-r--r-- | src/backend/optimizer/plan/planner.c | 12 | ||||
-rw-r--r-- | src/backend/optimizer/prep/prepunion.c | 5 | ||||
-rw-r--r-- | src/backend/optimizer/util/clauses.c | 10 | ||||
-rw-r--r-- | src/backend/optimizer/util/paramassign.c | 16 |
7 files changed, 31 insertions, 28 deletions
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c index 5ef29eea69e..4c6b1d1f55b 100644 --- a/src/backend/optimizer/path/costsize.c +++ b/src/backend/optimizer/path/costsize.c @@ -2217,13 +2217,13 @@ cost_append(AppendPath *apath) if (pathkeys == NIL) { - Path *subpath = (Path *) linitial(apath->subpaths); + Path *firstsubpath = (Path *) linitial(apath->subpaths); /* * For an unordered, non-parallel-aware Append we take the startup * cost as the startup cost of the first subpath. */ - apath->path.startup_cost = subpath->startup_cost; + apath->path.startup_cost = firstsubpath->startup_cost; /* Compute rows and costs as sums of subplan rows and costs. */ foreach(l, apath->subpaths) diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index 63a8eef45cd..c31fcc917df 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -1303,11 +1303,11 @@ generate_bitmap_or_paths(PlannerInfo *root, RelOptInfo *rel, } else { - RestrictInfo *rinfo = castNode(RestrictInfo, orarg); + RestrictInfo *ri = castNode(RestrictInfo, orarg); List *orargs; - Assert(!restriction_is_or_clause(rinfo)); - orargs = list_make1(rinfo); + Assert(!restriction_is_or_clause(ri)); + orargs = list_make1(ri); indlist = build_paths_for_OR(root, rel, orargs, diff --git a/src/backend/optimizer/path/tidpath.c b/src/backend/optimizer/path/tidpath.c index 279ca1f5b44..c4e035b049b 100644 --- a/src/backend/optimizer/path/tidpath.c +++ b/src/backend/optimizer/path/tidpath.c @@ -305,10 +305,10 @@ TidQualFromRestrictInfoList(PlannerInfo *root, List *rlist, RelOptInfo *rel) } else { - RestrictInfo *rinfo = castNode(RestrictInfo, orarg); + RestrictInfo *ri = castNode(RestrictInfo, orarg); - Assert(!restriction_is_or_clause(rinfo)); - sublist = TidQualFromRestrictInfo(root, rinfo, rel); + Assert(!restriction_is_or_clause(ri)); + sublist = TidQualFromRestrictInfo(root, ri, rel); } /* diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 9c5836683c6..5d0fd6e072f 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -3449,7 +3449,6 @@ get_number_of_groups(PlannerInfo *root, { /* Add up the estimates for each grouping set */ ListCell *lc; - ListCell *lc2; Assert(gd); /* keep Coverity happy */ @@ -3458,17 +3457,18 @@ get_number_of_groups(PlannerInfo *root, foreach(lc, gd->rollups) { RollupData *rollup = lfirst_node(RollupData, lc); - ListCell *lc; + ListCell *lc2; + ListCell *lc3; groupExprs = get_sortgrouplist_exprs(rollup->groupClause, target_list); rollup->numGroups = 0.0; - forboth(lc, rollup->gsets, lc2, rollup->gsets_data) + forboth(lc2, rollup->gsets, lc3, rollup->gsets_data) { - List *gset = (List *) lfirst(lc); - GroupingSetData *gs = lfirst_node(GroupingSetData, lc2); + List *gset = (List *) lfirst(lc2); + GroupingSetData *gs = lfirst_node(GroupingSetData, lc3); double numGroups = estimate_num_groups(root, groupExprs, path_rows, @@ -3484,6 +3484,8 @@ get_number_of_groups(PlannerInfo *root, if (gd->hash_sets_idx) { + ListCell *lc2; + gd->dNumHashGroups = 0; groupExprs = get_sortgrouplist_exprs(parse->groupClause, diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c index 71052c841d7..f6046768fb0 100644 --- a/src/backend/optimizer/prep/prepunion.c +++ b/src/backend/optimizer/prep/prepunion.c @@ -658,9 +658,10 @@ generate_union_paths(SetOperationStmt *op, PlannerInfo *root, /* Find the highest number of workers requested for any subpath. */ foreach(lc, partial_pathlist) { - Path *path = lfirst(lc); + Path *subpath = lfirst(lc); - parallel_workers = Max(parallel_workers, path->parallel_workers); + parallel_workers = Max(parallel_workers, + subpath->parallel_workers); } Assert(parallel_workers > 0); diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index bf3a7cae60a..7fb32a07103 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -4463,16 +4463,16 @@ inline_function(Oid funcid, Oid result_type, Oid result_collid, if (!isNull) { Node *n; - List *querytree_list; + List *query_list; n = stringToNode(TextDatumGetCString(tmp)); if (IsA(n, List)) - querytree_list = linitial_node(List, castNode(List, n)); + query_list = linitial_node(List, castNode(List, n)); else - querytree_list = list_make1(n); - if (list_length(querytree_list) != 1) + query_list = list_make1(n); + if (list_length(query_list) != 1) goto fail; - querytree = linitial(querytree_list); + querytree = linitial(query_list); /* * Because we'll insist below that the querytree have an empty rtable diff --git a/src/backend/optimizer/util/paramassign.c b/src/backend/optimizer/util/paramassign.c index 8e2d4bf5158..933460989b3 100644 --- a/src/backend/optimizer/util/paramassign.c +++ b/src/backend/optimizer/util/paramassign.c @@ -437,16 +437,16 @@ process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params) { Var *var = (Var *) pitem->item; NestLoopParam *nlp; - ListCell *lc; + ListCell *lc2; /* If not from a nestloop outer rel, complain */ if (!bms_is_member(var->varno, root->curOuterRels)) elog(ERROR, "non-LATERAL parameter required by subquery"); /* Is this param already listed in root->curOuterParams? */ - foreach(lc, root->curOuterParams) + foreach(lc2, root->curOuterParams) { - nlp = (NestLoopParam *) lfirst(lc); + nlp = (NestLoopParam *) lfirst(lc2); if (nlp->paramno == pitem->paramId) { Assert(equal(var, nlp->paramval)); @@ -454,7 +454,7 @@ process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params) break; } } - if (lc == NULL) + if (lc2 == NULL) { /* No, so add it */ nlp = makeNode(NestLoopParam); @@ -467,7 +467,7 @@ process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params) { PlaceHolderVar *phv = (PlaceHolderVar *) pitem->item; NestLoopParam *nlp; - ListCell *lc; + ListCell *lc2; /* If not from a nestloop outer rel, complain */ if (!bms_is_subset(find_placeholder_info(root, phv)->ph_eval_at, @@ -475,9 +475,9 @@ process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params) elog(ERROR, "non-LATERAL parameter required by subquery"); /* Is this param already listed in root->curOuterParams? */ - foreach(lc, root->curOuterParams) + foreach(lc2, root->curOuterParams) { - nlp = (NestLoopParam *) lfirst(lc); + nlp = (NestLoopParam *) lfirst(lc2); if (nlp->paramno == pitem->paramId) { Assert(equal(phv, nlp->paramval)); @@ -485,7 +485,7 @@ process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params) break; } } - if (lc == NULL) + if (lc2 == NULL) { /* No, so add it */ nlp = makeNode(NestLoopParam); |