Changeset: 084d9506de63 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/084d9506de63
Modified Files:
sql/server/rel_optimize_proj.c
Branch: Jun2023
Log Message:
fixed issue, creating multiple aggregate columns with same alias.
diffs (30 lines):
diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c
--- a/sql/server/rel_optimize_proj.c
+++ b/sql/server/rel_optimize_proj.c
@@ -2694,15 +2694,19 @@ rel_groupby_distinct(visitor *v, sql_rel
}
darg = arg->h->data;
- if ((found = exps_find_exp(gbe, darg))) { /* first find if the
aggregate argument already exists in the grouping list */
- darg = exp_ref(v->sql, found);
+ if ((found = exps_find_exp(exps, darg)) == NULL) { /* not
already in the groups projection list */
+ if ((found = exps_find_exp(gbe, darg))) { /* first find
if the aggregate argument already exists in the grouping list */
+ darg = exp_ref(v->sql, found);
+ } else {
+ list_append(gbe, darg = exp_copy(v->sql, darg));
+ exp_label(v->sql->sa, darg, ++v->sql->label);
+ darg = exp_ref(v->sql, darg);
+ }
+ list_append(exps, darg);
+ darg = exp_ref(v->sql, darg);
} else {
- list_append(gbe, darg = exp_copy(v->sql, darg));
- exp_label(v->sql->sa, darg, ++v->sql->label);
- darg = exp_ref(v->sql, darg);
+ darg = exp_ref(v->sql, found);
}
- list_append(exps, darg);
- darg = exp_ref(v->sql, darg);
arg->h->data = darg;
l = rel->l = rel_groupby(v->sql, rel->l, gbe);
l->exps = exps;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]