Changeset: 5597f5b14441 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5597f5b14441
Modified Files:
        gdk/gdk_imprints.c
        gdk/gdk_select.c
Branch: default
Log Message:

Add protective assertions
While debugging the recycler, I noticed the assertion to
go off unexpectedly.


diffs (39 lines):

diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c
--- a/gdk/gdk_imprints.c
+++ b/gdk/gdk_imprints.c
@@ -727,6 +727,7 @@ do {                                    
                BBPunfix(b->batCacheid);
                b = o;
        }
+       assert(b->batCapacity >= BATcount(b));
        return b;
 };
 
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -660,6 +660,8 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, 
                 * BUNlast(s) (i.e. s not fully used)? */
                candlist = (const oid *) Tloc(s, p);
                /* call type-specific core scan select function */
+               assert(b->batCapacity >= BATcount(b));
+               assert(s->batCapacity >= BATcount(s));
                switch (ATOMstorage(b->ttype)) {
                case TYPE_bte:
                        cnt = candscan_bte(scanargs);
@@ -684,6 +686,7 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, 
                }
                if (cnt == BUN_NONE)
                        return NULL;
+               assert(bn->batCapacity >= cnt);
        } else {
                if (s) {
                        assert(BATtdense(s));
@@ -725,6 +728,7 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, 
                }
                if (cnt == BUN_NONE)
                        return NULL;
+               assert(bn->batCapacity >= cnt);
        }
        BATsetcount(bn, cnt);
        bn->tsorted = 1;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to