Changeset: fd511d81a1e5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fd511d81a1e5 Modified Files: sql/server/rel_optimizer.c Branch: Nov2019 Log Message:
Fix for breaking TPC-DS tests. When attempting to remove a join on a primary key, used in a distinct projection, test that the primary key must be the same one diffs (29 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -2503,14 +2503,17 @@ rel_distinct_project2groupby(int *change sql_rel *j = l; sql_rel *p = j->l; sql_exp *je = l->exps->h->data, *le = je->l; - int pside = (rel_find_exp(p, le) != NULL)?1:0; - - p = (pside)?j->l:j->r; - rel->l = rel_dup(p); - rel_destroy(j); - *changes = 1; - set_nodistinct(rel); - return rel; + + if (exps_find_exp(rel->exps, le)) { /* rel must have the same primary key on the projection list */ + int pside = (rel_find_exp(p, le) != NULL)?1:0; + + p = (pside)?j->l:j->r; + rel->l = rel_dup(p); + rel_destroy(j); + *changes = 1; + set_nodistinct(rel); + return rel; + } } /* rewrite distinct project [ gbe ] ( select ( groupby [ gbe ] [ gbe, e ] )[ e op val ]) * into project [ gbe ] ( select ( group etc ) */ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list