Changeset: c096fcdd13d8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c096fcdd13d8
Modified Files:
        gdk/gdk_bbp.c
        gdk/gdk_value.c
Branch: Oct2014
Log Message:

Some better bat_nil handling.


diffs (49 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1625,9 +1625,11 @@ BBPindex(const char *nme)
 BATstore *
 BBPgetdesc(bat i)
 {
+       if (i == bat_nil)
+               return NULL;
        if (i < 0)
                i = -i;
-       if (i != bat_nil && i < (bat) ATOMIC_GET(BBPsize, BBPsizeLock, 
"BBPgetdesc") && i && BBP_logical(i)) {
+       if (i != 0 && i < (bat) ATOMIC_GET(BBPsize, BBPsizeLock, "BBPgetdesc") 
&& i && BBP_logical(i)) {
                return BBP_desc(i);
        }
        return NULL;
@@ -3048,7 +3050,7 @@ BBPquickdesc(bat bid, int delaccess)
 {
        BAT *b;
 
-       if ( bid == 0)
+       if (bid == bat_nil || bid == 0)
                return NULL;
        if (bid < 0) {
                GDKerror("BBPquickdesc: called with negative batid.\n");
diff --git a/gdk/gdk_value.c b/gdk/gdk_value.c
--- a/gdk/gdk_value.c
+++ b/gdk/gdk_value.c
@@ -277,14 +277,19 @@ VALisnil(const ValRecord *v)
        case TYPE_sht:
                return v->val.shval == sht_nil;
        case TYPE_int:
-       case TYPE_bat:
                return v->val.ival == int_nil;
+       case TYPE_wrd:
+               return v->val.wval == wrd_nil;
        case TYPE_lng:
                return v->val.lval == lng_nil;
        case TYPE_flt:
                return v->val.fval == flt_nil;
        case TYPE_dbl:
                return v->val.dval == dbl_nil;
+       case TYPE_oid:
+               return v->val.oval == oid_nil;
+       case TYPE_bat:
+               return v->val.bval == bat_nil || v->val.bval == 0;
        default:
                break;
        }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to