Changeset: c5ba7c2b50b8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c5ba7c2b50b8 Modified Files: sql/server/rel_optimizer.c sql/server/rel_select.c sql/server/rel_unnest.c Branch: Jun2020 Log Message:
Added missing checks diffs (53 lines): 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 @@ -8251,7 +8251,8 @@ rel_split_outerjoin(mvc *sql, sql_rel *r e = rel->exps->h->data; nll->exps = exps_copy(sql, e->l); nlr->exps = exps_copy(sql, e->r); - nl = rel_or( sql, NULL, nll, nlr, NULL, NULL, NULL); + if (!(nl = rel_or( sql, NULL, nll, nlr, NULL, NULL, NULL))) + return NULL; if (rel->op == op_left || rel->op == op_full) { /* split in 2 anti joins */ diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -5723,10 +5723,9 @@ rel_setquery(sql_query *query, symbol *q if (t2 && distinct) t2 = rel_distinct(t2); res = rel_setquery_(query, t1, t2, corresponding, op_union ); - } - if ( q->token == SQL_EXCEPT) + } else if ( q->token == SQL_EXCEPT) res = rel_setquery_(query, t1, t2, corresponding, op_except ); - if ( q->token == SQL_INTERSECT) + else if ( q->token == SQL_INTERSECT) res = rel_setquery_(query, t1, t2, corresponding, op_inter ); if (res && distinct) res = rel_distinct(res); diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c --- a/sql/server/rel_unnest.c +++ b/sql/server/rel_unnest.c @@ -1765,14 +1765,17 @@ rewrite_or_exp(mvc *sql, sql_rel *rel, i l = rel_select(sql->sa, l, NULL); l->exps = e->l; - l = rewrite_or_exp(sql, l, changes); + if (!(l = rewrite_or_exp(sql, l, changes))) + return NULL; r = rel_select(sql->sa, r, NULL); r->exps = e->r; - r = rewrite_or_exp(sql, r, changes); + if (!(r = rewrite_or_exp(sql, r, changes))) + return NULL; list *ls = rel_projections(sql, rel, NULL, 1, 1); list *rs = rel_projections(sql, rel, NULL, 1, 1); - rel = rel_setop_check_types(sql, l, r, ls, rs, op_union); + if (!(rel = rel_setop_check_types(sql, l, r, ls, rs, op_union))) + return NULL; rel = rel_distinct(rel); rel_set_exps(rel, exps); (*changes)++; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list