Changeset: cec6a2206427 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cec6a2206427
Modified Files:
        gdk/gdk_calc.c
Branch: Jan2014
Log Message:

Consistency in (bat)calc.between: nil boundary means nil result.


diffs (36 lines):

diff --git a/gdk/gdk_calc.c b/gdk/gdk_calc.c
--- a/gdk/gdk_calc.c
+++ b/gdk/gdk_calc.c
@@ -8346,10 +8346,9 @@ VARcalcrsh(ValPtr ret, const ValRecord *
 /* between (any "linear" type) */
 
 #define BETWEEN(v, lo, hi, TYPE)                                       \
-       ((v) == TYPE##_nil || ((lo) == TYPE##_nil && (hi) == TYPE##_nil) ? \
+       ((v) == TYPE##_nil || (lo) == TYPE##_nil || (hi) == TYPE##_nil ? \
         (nils++, bit_nil) :                                            \
-        (bit) (((lo) == TYPE##_nil || (v) >= (lo)) &&                  \
-               ((hi) == TYPE##_nil || (v) <= (hi))))
+        (bit) ((v) >= (lo) && (v) <= (hi)))
 
 #define BETWEEN_LOOP_TYPE(TYPE)                                                
\
        do {                                                            \
@@ -8666,15 +8665,13 @@ VARcalcbetween(ValPtr ret, const ValReco
                break;
        default:
                if (atomcmp(VALptr(v), nil) == 0 ||
-                   (atomcmp(VALptr(lo), nil) == 0 &&
-                    atomcmp(VALptr(hi), nil) == 0))
+                   atomcmp(VALptr(lo), nil) == 0 ||
+                   atomcmp(VALptr(hi), nil) == 0)
                        ret->val.btval = bit_nil;
                else
                        ret->val.btval =
-                               (bit) ((atomcmp(VALptr(lo), nil) == 0 ||
-                                       atomcmp(VALptr(v), VALptr(lo)) >= 0) &&
-                                      (atomcmp(VALptr(hi), nil) == 0 ||
-                                       atomcmp(VALptr(v), VALptr(hi)) <= 0));
+                               (bit) (atomcmp(VALptr(v), VALptr(lo)) >= 0 &&
+                                      atomcmp(VALptr(v), VALptr(hi)) <= 0);
                break;
        }
        (void) nils;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to