Changeset: 95a86d86c9ed for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/95a86d86c9ed Modified Files: sql/server/rel_optimizer.c Branch: Jul2021 Log Message:
Defensive line, check if expression list is empty beforehand diffs (22 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 @@ -2513,11 +2513,13 @@ rel_remove_redundant_join(visitor *v, sq int left = 0; if (is_basetable(jl->op) && jl->l == b->l) left = 1; - for (node *n=p->exps->h; n; n = n->next) { /* all exps of 'p' must be bound to the opposite side */ - sql_exp *e = n->data; - - if (!rel_rebind_exp(v->sql, left ? jr : jl, e)) - return rel; + if (!list_empty(p->exps)) { + for (node *n=p->exps->h; n; n = n->next) { /* all exps of 'p' must be bound to the opposite side */ + sql_exp *e = n->data; + + if (!rel_rebind_exp(v->sql, left ? jr : jl, e)) + return rel; + } } if (exp_match_list(j->exps, rel->exps)) { p->l = (left)?rel_dup(jr):rel_dup(jl); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list