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

Reply via email to