Changeset: 23e3b72e24a4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/23e3b72e24a4
Modified Files:
        gdk/gdk_bbp.c
        gdk/gdk_delta.c
        gdk/gdk_logger.c
Branch: Jan2022
Log Message:

Add some asserts that should help find BBPcheckbats errors.


diffs (43 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1896,6 +1896,7 @@ new_bbpentry(FILE *fp, bat i, BUN size)
        }
 #endif
 
+       assert(size <= BBP_desc(i)->batCount || size == BUN_NONE);
        if (size > BBP_desc(i)->batCount)
                size = BBP_desc(i)->batCount;
        if (fprintf(fp, "%d %u %s %s %d " BUNFMT " " BUNFMT " " OIDFMT,
@@ -3942,6 +3943,7 @@ BBPsync(int cnt, bat *restrict subcommit
                                        if (lock)
                                                MT_lock_unset(&GDKswapLock(i));
                                        BATiter bi = bat_iterator(b);
+                                       assert(size <= bi.count || size == 
BUN_NONE);
                                        if (size > bi.count)
                                                size = bi.count;
                                        MT_rwlock_rdlock(&b->thashlock);
diff --git a/gdk/gdk_delta.c b/gdk/gdk_delta.c
--- a/gdk/gdk_delta.c
+++ b/gdk/gdk_delta.c
@@ -35,6 +35,7 @@ BATcommit(BAT *b, BUN size)
 {
        if (b == NULL)
                return;
+       assert(size <= BATcount(b) || size == BUN_NONE);
        TRC_DEBUG(DELTA, "BATcommit1 %s free %zu ins " BUNFMT " base %p\n",
                  BATgetId(b), b->theap->free, b->batInserted, b->theap->base);
        if (!BATdirty(b)) {
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1449,7 +1449,8 @@ bm_get_counts(logger *lg)
 static int
 subcommit_list_add(int next, bat *n, BUN *sizes, bat bid, BUN sz)
 {
-       for(int i=0; i<next; i++) {
+       assert(sz <= BBP_desc(bid)->batCount || sz == BUN_NONE);
+       for (int i=0; i<next; i++) {
                if (n[i] == bid) {
                        sizes[i] = sz;
                        return next;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to