diff options
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r-- | src/backend/optimizer/path/costsize.c | 3 | ||||
-rw-r--r-- | src/backend/optimizer/path/indxpath.c | 1 | ||||
-rw-r--r-- | src/backend/optimizer/plan/planner.c | 10 | ||||
-rw-r--r-- | src/backend/optimizer/prep/prepunion.c | 1 | ||||
-rw-r--r-- | src/backend/optimizer/util/pathnode.c | 1 |
5 files changed, 11 insertions, 5 deletions
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c index a25b674a192..b92c9485882 100644 --- a/src/backend/optimizer/path/costsize.c +++ b/src/backend/optimizer/path/costsize.c @@ -1969,7 +1969,8 @@ cost_incremental_sort(Path *path, /* Estimate number of groups with equal presorted keys. */ if (!unknown_varno) - input_groups = estimate_num_groups(root, presortedExprs, input_tuples, NULL); + input_groups = estimate_num_groups(root, presortedExprs, input_tuples, + NULL, NULL); group_tuples = input_tuples / input_groups; group_input_run_cost = input_run_cost / input_groups; diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index ff536e6b24b..53b24e9e8c8 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -1990,6 +1990,7 @@ adjust_rowcount_for_semijoins(PlannerInfo *root, nunique = estimate_num_groups(root, sjinfo->semi_rhs_exprs, nraw, + NULL, NULL); if (rowcount > nunique) rowcount = nunique; diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index f529d107d29..0886bf4ae8f 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -3702,7 +3702,8 @@ get_number_of_groups(PlannerInfo *root, double numGroups = estimate_num_groups(root, groupExprs, path_rows, - &gset); + &gset, + NULL); gs->numGroups = numGroups; rollup->numGroups += numGroups; @@ -3727,7 +3728,8 @@ get_number_of_groups(PlannerInfo *root, double numGroups = estimate_num_groups(root, groupExprs, path_rows, - &gset); + &gset, + NULL); gs->numGroups = numGroups; gd->dNumHashGroups += numGroups; @@ -3743,7 +3745,7 @@ get_number_of_groups(PlannerInfo *root, target_list); dNumGroups = estimate_num_groups(root, groupExprs, path_rows, - NULL); + NULL, NULL); } } else if (parse->groupingSets) @@ -4792,7 +4794,7 @@ create_distinct_paths(PlannerInfo *root, parse->targetList); numDistinctRows = estimate_num_groups(root, distinctExprs, cheapest_input_path->rows, - NULL); + NULL, NULL); } /* diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c index becdcbb8725..037dfaacfd4 100644 --- a/src/backend/optimizer/prep/prepunion.c +++ b/src/backend/optimizer/prep/prepunion.c @@ -338,6 +338,7 @@ recurse_set_operations(Node *setOp, PlannerInfo *root, *pNumGroups = estimate_num_groups(subroot, get_tlist_exprs(subquery->targetList, false), subpath->rows, + NULL, NULL); } } diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 69b83071cf2..d5c66780ac8 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -1713,6 +1713,7 @@ create_unique_path(PlannerInfo *root, RelOptInfo *rel, Path *subpath, pathnode->path.rows = estimate_num_groups(root, sjinfo->semi_rhs_exprs, rel->rows, + NULL, NULL); numCols = list_length(sjinfo->semi_rhs_exprs); |