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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list