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