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 -- [email protected]
To unsubscribe send an email to [email protected]