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

Reply via email to