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

Reply via email to