RelOptInfo *grouped_rel2;
bool rel1_empty;
bool rel2_empty;
- Relids agg_apply_at;
+ Relids apply_agg_at;
/*
* If there are no aggregate expressions or grouping expressions, eager
rel1_empty ? rel1 : grouped_rel1,
rel2_empty ? rel2 : grouped_rel2,
sjinfo, restrictlist);
- agg_info->apply_at = rel1_empty ?
- grouped_rel2->agg_info->apply_at :
- grouped_rel1->agg_info->apply_at;
+ agg_info->apply_agg_at = rel1_empty ?
+ grouped_rel2->agg_info->apply_agg_at :
+ grouped_rel1->agg_info->apply_agg_at;
}
else
{
* constructed by joining other input relations.
*/
grouped_rel->rows = agg_info->grouped_rows;
- agg_info->apply_at = bms_copy(joinrel->relids);
+ agg_info->apply_agg_at = bms_copy(joinrel->relids);
}
grouped_rel->agg_info = agg_info;
* Get the set of relids where partial aggregation is applied among the
* given input relations.
*/
- agg_apply_at = rel1_empty ?
- grouped_rel2->agg_info->apply_at :
- grouped_rel1->agg_info->apply_at;
+ apply_agg_at = rel1_empty ?
+ grouped_rel2->agg_info->apply_agg_at :
+ grouped_rel1->agg_info->apply_agg_at;
/*
* If it's not the designated level, skip building grouped paths.
* level and still valid for partial aggregation, we update the designated
* level to (B C), and adjust the size estimates accordingly.
*/
- if (!bms_equal(agg_apply_at, grouped_rel->agg_info->apply_at))
+ if (!bms_equal(apply_agg_at, grouped_rel->agg_info->apply_agg_at))
{
- if (bms_is_subset(agg_apply_at, grouped_rel->agg_info->apply_at))
+ if (bms_is_subset(apply_agg_at, grouped_rel->agg_info->apply_agg_at))
{
/* Adjust the size estimates for the grouped join relation. */
set_joinrel_size_estimates(root, grouped_rel,
rel1_empty ? rel1 : grouped_rel1,
rel2_empty ? rel2 : grouped_rel2,
sjinfo, restrictlist);
- grouped_rel->agg_info->apply_at = agg_apply_at;
+ grouped_rel->agg_info->apply_agg_at = apply_agg_at;
}
else
return;
return NULL;
/* Track the set of relids at which partial aggregation is applied */
- agg_info->apply_at = bms_copy(rel->relids);
+ agg_info->apply_agg_at = bms_copy(rel->relids);
/* build the grouped relation */
grouped_rel = build_grouped_rel(root, rel);
rel,
rel->top_parent);
- agg_info->apply_at = NULL; /* caller will change this later */
+ agg_info->apply_agg_at = NULL; /* caller will change this later */
if (calculate_grouped_rows)
{
result->agg_input = agg_input;
result->group_clauses = group_clauses;
result->group_exprs = group_exprs;
- result->apply_at = NULL; /* caller will change this later */
+ result->apply_agg_at = NULL; /* caller will change this later */
if (calculate_grouped_rows)
{
* "group_clauses" and "group_exprs" are lists of SortGroupClauses and the
* corresponding grouping expressions.
*
- * "apply_at" tracks the set of relids at which partial aggregation is applied
- * in the paths of this grouped relation.
+ * "apply_agg_at" tracks the set of relids at which partial aggregation is
+ * applied in the paths of this grouped relation.
*
* "grouped_rows" is the estimated number of result tuples of the grouped
* relation.
List *group_exprs;
/* the set of relids partial aggregation is applied at */
- Relids apply_at;
+ Relids apply_agg_at;
/* estimated number of result tuples */
Cardinality grouped_rows;