Changeset: 6dcdedda192c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6dcdedda192c Modified Files: sql/backends/monet5/rel_bin.c sql/server/rel_exp.c sql/test/BugTracker-2024/Tests/All Branch: Dec2023 Log Message:
fixes for issues #7450 and #7451 make sure group by results are used don't rewrite into semijoin when for the join expression the uniqueness cannot be concluded. diffs (33 lines): diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -4441,6 +4441,8 @@ rel2bin_groupby(backend *be, sql_rel *re cursub = stmt_list(be, l); if (cursub == NULL) return NULL; + if (aggrs && !aggrs->h && ext) + list_append(l, ext); for (n = aggrs->h; n; n = n->next) { sql_exp *aggrexp = n->data; stmt *aggrstmt = NULL; diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -2405,7 +2405,7 @@ exp_has_func_or_cmp(sql_exp *e, bool cmp return exps_have_func_or_cmp(e->f, true); return 0; case e_convert: - return exp_has_func(e->l); + return exp_has_func_or_cmp(e->l, cmp); case e_func: return 1; case e_aggr: diff --git a/sql/test/BugTracker-2024/Tests/All b/sql/test/BugTracker-2024/Tests/All --- a/sql/test/BugTracker-2024/Tests/All +++ b/sql/test/BugTracker-2024/Tests/All @@ -19,3 +19,5 @@ greatest-as-colname-7444 where-cond-issue-7447 where-cond-issue-7448 function_return_issue +where_null-7450 +between-boolean-7451 _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org