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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list