Changeset: 20bbf5c1e26b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20bbf5c1e26b
Modified Files:
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
Branch: Oct2020
Log Message:

Two small improvements, allow always inplace conversion on NULL values and 
continue loop even if only one of the sides can be pushed down yet


diffs (24 lines):

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
@@ -2895,7 +2895,7 @@ exp_convert_inplace(mvc *sql, sql_subtyp
                return NULL;
 
        a = exp->l;
-       if (t->scale && t->type->eclass != EC_FLT)
+       if (!a->isnull && t->scale && t->type->eclass != EC_FLT)
                return NULL;
 
        if (a && atom_cast(sql->sa, a, t)) {
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
@@ -1400,7 +1400,7 @@ can_push_func(sql_exp *e, sql_rel *rel, 
 static int
 exps_can_push_func(list *exps, sql_rel *rel, bool *push_left, bool *push_right)
 {
-       for(node *n = exps->h; n && !*push_left && !*push_right; n = n->next) {
+       for(node *n = exps->h; n; n = n->next) {
                sql_exp *e = n->data;
                int mustl = 0, mustr = 0;
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to