Changeset: 751970808ec9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=751970808ec9 Modified Files: sql/server/rel_exp.c Branch: out2in Log Message:
Fix exp_or_exp_is_false function. diffs (34 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 @@ -1710,7 +1710,29 @@ exp_regular_cmp_exp_is_false(mvc *sql, s static inline bool exp_or_exp_is_false(mvc *sql, sql_exp* e) { assert(e->type == e_cmp && e->flag == cmp_or); - return exp_is_false(sql, e->l) && exp_is_false(sql, e->r); + + list* left = e->l; + list* right = e->r; + + bool left_is_false = false; + for(node* n = left->h; n; n=n->next) { + if (exp_is_false(sql, n->data)) { + left_is_false=true; + break; + } + } + + if (!left_is_false) { + return false; + } + + for(node* n = right->h; n; n=n->next) { + if (exp_is_false(sql, n->data)) { + return true; + } + } + + return false; } static inline bool _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list