Changeset: 59b345a4d861 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=59b345a4d861
Modified Files:
        monetdb5/modules/kernel/bat5.c
Branch: default
Log Message:

Do error checking, and get rid of old M4-type extra functions.


diffs (truncated from 579 to 300 lines):

diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -78,7 +78,7 @@ local_utoa(size_t i)
 
 #define COLLISION (8 * sizeof(size_t))
 
-static void
+static gdk_return
 HASHinfo(BAT *bk, BAT *bv, Hash *h, str s)
 {
        BUN i;
@@ -86,10 +86,11 @@ HASHinfo(BAT *bk, BAT *bv, Hash *h, str 
        BUN k;
        BUN cnt[COLLISION + 1];
 
-       BUNappend(bk, pre(s, "type"), FALSE);
-       BUNappend(bv, ATOMname(h->type),FALSE);
-       BUNappend(bk, pre(s, "mask"), FALSE);
-       BUNappend(bv, local_utoa(h->lim),FALSE);
+       if (BUNappend(bk, pre(s, "type"), FALSE) != GDK_SUCCEED ||
+           BUNappend(bv, ATOMname(h->type),FALSE) != GDK_SUCCEED ||
+           BUNappend(bk, pre(s, "mask"), FALSE) != GDK_SUCCEED ||
+           BUNappend(bv, local_utoa(h->lim),FALSE) != GDK_SUCCEED)
+               return GDK_FAIL;
 
        for (i = 0; i < COLLISION + 1; i++) {
                cnt[i] = 0;
@@ -103,35 +104,43 @@ HASHinfo(BAT *bk, BAT *bv, Hash *h, str 
 
        for (i = 0; i < COLLISION + 1; i++)
                if (cnt[i]) {
-                       BUNappend(bk, pre(s, 
local_utoa(i?(((size_t)1)<<(i-1)):0)), FALSE);
-                       BUNappend(bv, local_utoa((size_t) cnt[i]), FALSE);
+                       if (BUNappend(bk, pre(s, 
local_utoa(i?(((size_t)1)<<(i-1)):0)), FALSE) != GDK_SUCCEED ||
+                           BUNappend(bv, local_utoa((size_t) cnt[i]), FALSE) 
!= GDK_SUCCEED)
+                               return GDK_FAIL;
                }
+       return GDK_SUCCEED;
 }
 
-static void
+static gdk_return
 infoHeap(BAT *bk, BAT*bv, Heap *hp, str nme)
 {
        char buf[1024], *p = buf;
 
        if (!hp)
-               return;
+               return GDK_SUCCEED;
        while (*nme)
                *p++ = *nme++;
        strcpy(p, "free");
-       BUNappend(bk, buf, FALSE);
-       BUNappend(bv, local_utoa(hp->free),FALSE);
+       if (BUNappend(bk, buf, FALSE) != GDK_SUCCEED ||
+               BUNappend(bv, local_utoa(hp->free), FALSE) != GDK_SUCCEED)
+               return GDK_FAIL;
        strcpy(p, "size");
-       BUNappend(bk, buf, FALSE);
-       BUNappend(bv, local_utoa(hp->size),FALSE);
+       if (BUNappend(bk, buf, FALSE) != GDK_SUCCEED ||
+               BUNappend(bv, local_utoa(hp->size), FALSE) != GDK_SUCCEED)
+               return GDK_FAIL;
        strcpy(p, "storage");
-       BUNappend(bk, buf, FALSE);
-       BUNappend(bv, (hp->base == NULL || hp->base == (char*)1) ? "absent" : 
(hp->storage == STORE_MMAP) ? (hp->filename ? "memory mapped" : "anonymous vm") 
: (hp->storage == STORE_PRIV) ? "private map" : "malloced",FALSE);
+       if (BUNappend(bk, buf, FALSE) != GDK_SUCCEED ||
+               BUNappend(bv, (hp->base == NULL || hp->base == (char*)1) ? 
"absent" : (hp->storage == STORE_MMAP) ? (hp->filename ? "memory mapped" : 
"anonymous vm") : (hp->storage == STORE_PRIV) ? "private map" : "malloced", 
FALSE) != GDK_SUCCEED)
+               return GDK_FAIL;
        strcpy(p, "newstorage");
-       BUNappend(bk, buf, FALSE);
-       BUNappend(bv, (hp->newstorage == STORE_MEM) ? "malloced" : 
(hp->newstorage == STORE_PRIV) ? "private map" : "memory mapped",FALSE);
+       if (BUNappend(bk, buf, FALSE) != GDK_SUCCEED ||
+               BUNappend(bv, (hp->newstorage == STORE_MEM) ? "malloced" : 
(hp->newstorage == STORE_PRIV) ? "private map" : "memory mapped", FALSE) != 
GDK_SUCCEED)
+               return GDK_FAIL;
        strcpy(p, "filename");
-       BUNappend(bk, buf, FALSE);
-       BUNappend(bv, hp->filename ? hp->filename : "no file",FALSE);
+       if (BUNappend(bk, buf, FALSE) != GDK_SUCCEED ||
+               BUNappend(bv, hp->filename ? hp->filename : "no file", FALSE) 
!= GDK_SUCCEED)
+               return GDK_FAIL;
+       return GDK_SUCCEED;
 }
 
 static char *
@@ -145,237 +154,6 @@ oidtostr(oid i)
        return bf;
 }
 
-static gdk_return
-CMDinfo(BAT **ret1, BAT **ret2, BAT *b)
-{
-       BAT *bk, *bv;
-       const char *mode, *accessmode;
-
-       if (!(bk = BATnew(TYPE_void, TYPE_str, 128, TRANSIENT)))
-               return GDK_FAIL;
-       if (!(bv = BATnew(TYPE_void, TYPE_str, 128, TRANSIENT))) {
-               BBPreclaim(bk);
-               return GDK_FAIL;
-       }
-       BATseqbase(bk,0);
-       BATseqbase(bv,0);
-       *ret1 = bk;
-       *ret2 = bv;
-
-       if (b->batPersistence == PERSISTENT) {
-               mode = "persistent";
-       } else if (b->batPersistence == TRANSIENT) {
-               mode = "transient";
-       } else {
-               mode ="unknown";
-       }
-
-       switch (b->batRestricted) {
-       case BAT_READ:
-               accessmode = "read-only";
-               break;
-       case BAT_WRITE:
-               accessmode = "updatable";
-               break;
-       case BAT_APPEND:
-               accessmode = "append-only";
-               break;
-       default:
-               accessmode = "unknown";
-       }
-
-       BUNappend(bk, "batId", FALSE);
-       BUNappend(bv, BATgetId(b),FALSE);
-       BUNappend(bk, "batCacheid", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->batCacheid)),FALSE);
-       BUNappend(bk, "hparentid", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->H->heap.parentid)),FALSE);
-       BUNappend(bk, "tparentid", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->T->heap.parentid)),FALSE);
-       BUNappend(bk, "batSharecnt", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->batSharecnt)),FALSE);
-       BUNappend(bk, "batCount", FALSE);
-       BUNappend(bv, local_utoa((size_t)b->batCount),FALSE);
-       BUNappend(bk, "batCapacity", FALSE);
-       BUNappend(bv, local_utoa((size_t)b->batCapacity),FALSE);
-       BUNappend(bk, "head", FALSE);
-       BUNappend(bv, ATOMname(TYPE_void),FALSE);
-       BUNappend(bk, "tail", FALSE);
-       BUNappend(bv, ATOMname(b->ttype),FALSE);
-       BUNappend(bk, "batPersistence", FALSE);
-       BUNappend(bv, mode,FALSE);
-       BUNappend(bk, "batRestricted", FALSE);
-       BUNappend(bv, accessmode,FALSE);
-       BUNappend(bk, "batRefcnt", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(BBP_refs(b->batCacheid))),FALSE);
-       BUNappend(bk, "batLRefcnt", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(BBP_lrefs(b->batCacheid))),FALSE);
-       BUNappend(bk, "batDirty", FALSE);
-       BUNappend(bv, BATdirty(b) ? "dirty" : "clean",FALSE);
-
-       BUNappend(bk, "hsorted", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)BAThordered(b)),FALSE);
-       BUNappend(bk, "hrevsorted", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)BAThrevordered(b)),FALSE);
-       BUNappend(bk, "hident", FALSE);
-       BUNappend(bv, b->hident,FALSE);
-       BUNappend(bk, "hdense", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(BAThdense(b))),FALSE);
-       BUNappend(bk, "hseqbase", FALSE);
-       BUNappend(bv, oidtostr(b->hseqbase),FALSE);
-       BUNappend(bk, "hkey", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->hkey)),FALSE);
-       BUNappend(bk, "hvarsized", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->hvarsized)),FALSE);
-       BUNappend(bk, "halign", FALSE);
-       BUNappend(bv, local_utoa(b->halign),FALSE);
-       BUNappend(bk, "hnosorted", FALSE);
-       BUNappend(bv, local_utoa(b->H->nosorted),FALSE);
-       BUNappend(bk, "hnorevsorted", FALSE);
-       BUNappend(bv, local_utoa(b->H->norevsorted),FALSE);
-       BUNappend(bk, "hnodense", FALSE);
-       BUNappend(bv, local_utoa(b->H->nodense),FALSE);
-       BUNappend(bk, "hnokey[0]", FALSE);
-       BUNappend(bv, local_utoa(b->H->nokey[0]),FALSE);
-       BUNappend(bk, "hnokey[1]", FALSE);
-       BUNappend(bv, local_utoa(b->H->nokey[1]),FALSE);
-       BUNappend(bk, "hnonil", FALSE);
-       BUNappend(bv, local_utoa(b->H->nonil),FALSE);
-       BUNappend(bk, "hnil", FALSE);
-       BUNappend(bv, local_utoa(b->H->nil),FALSE);
-
-       BUNappend(bk, "tident", FALSE);
-       BUNappend(bv, b->tident,FALSE);
-       BUNappend(bk, "tdense", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(BATtdense(b))), FALSE);
-       BUNappend(bk, "tseqbase", FALSE);
-       BUNappend(bv, oidtostr(b->tseqbase), FALSE);
-       BUNappend(bk, "tsorted", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)BATtordered(b)), FALSE);
-       BUNappend(bk, "trevsorted", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)BATtrevordered(b)), FALSE);
-       BUNappend(bk, "tkey", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->tkey)), FALSE);
-       BUNappend(bk, "tvarsized", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->tvarsized)), FALSE);
-       BUNappend(bk, "talign", FALSE);
-       BUNappend(bv, local_utoa(b->talign), FALSE);
-       BUNappend(bk, "tnosorted", FALSE);
-       BUNappend(bv, local_utoa(b->T->nosorted), FALSE);
-       BUNappend(bk, "tnorevsorted", FALSE);
-       BUNappend(bv, local_utoa(b->T->norevsorted), FALSE);
-       BUNappend(bk, "tnodense", FALSE);
-       BUNappend(bv, local_utoa(b->T->nodense), FALSE);
-       BUNappend(bk, "tnokey[0]", FALSE);
-       BUNappend(bv, local_utoa(b->T->nokey[0]), FALSE);
-       BUNappend(bk, "tnokey[1]", FALSE);
-       BUNappend(bv, local_utoa(b->T->nokey[1]), FALSE);
-       BUNappend(bk, "tnonil", FALSE);
-       BUNappend(bv, local_utoa(b->T->nonil), FALSE);
-       BUNappend(bk, "tnil", FALSE);
-       BUNappend(bv, local_utoa(b->T->nil), FALSE);
-
-       BUNappend(bk, "batInserted", FALSE);
-       BUNappend(bv, local_utoa(b->batInserted), FALSE);
-       BUNappend(bk, "batDeleted", FALSE);
-       BUNappend(bv, local_utoa(b->batDeleted), FALSE);
-       BUNappend(bk, "batFirst", FALSE);
-       BUNappend(bv, local_utoa(b->batFirst), FALSE);
-       BUNappend(bk, "htop", FALSE);
-       BUNappend(bv, local_utoa(b->H->heap.free), FALSE);
-       BUNappend(bk, "ttop", FALSE);
-       BUNappend(bv, local_utoa(b->T->heap.free), FALSE);
-       BUNappend(bk, "batStamp", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->batStamp)), FALSE);
-       BUNappend(bk, "lastUsed", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(BBP_lastused(b->batCacheid))), 
FALSE);
-       BUNappend(bk, "curStamp", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(BBPcurstamp())), FALSE);
-       BUNappend(bk, "batCopiedtodisk", FALSE);
-       BUNappend(bv, local_itoa((ssize_t)(b->batCopiedtodisk)), FALSE);
-       BUNappend(bk, "batDirtydesc", FALSE);
-       BUNappend(bv, b->batDirtydesc ? "dirty" : "clean", FALSE);
-
-       BUNappend(bk, "H->heap.dirty", FALSE);
-       BUNappend(bv, b->H->heap.dirty ? "dirty" : "clean", FALSE);
-       BUNappend(bk, "T->heap.dirty", FALSE);
-       BUNappend(bv, b->T->heap.dirty ? "dirty" : "clean", FALSE);
-       infoHeap(bk, bv, &b->H->heap, "head.");
-       infoHeap(bk, bv, &b->T->heap, "tail.");
-
-       BUNappend(bk, "H->vheap->dirty", FALSE);
-       BUNappend(bv, (b->H->vheap && b->H->vheap->dirty) ? "dirty" : "clean", 
FALSE);
-       infoHeap(bk, bv, b->H->vheap, "hheap.");
-
-       BUNappend(bk, "T->vheap->dirty", FALSE);
-       BUNappend(bv, (b->T->vheap && b->T->vheap->dirty) ? "dirty" : "clean", 
FALSE);
-       infoHeap(bk, bv, b->T->vheap, "theap.");
-
-       /* dump index information */
-       if (b->H->hash) {
-               HASHinfo(bk, bv, b->H->hash, "hhash->");
-       }
-       if (b->T->hash) {
-               HASHinfo(bk, bv, b->T->hash, "thash->");
-       }
-       assert(BATcount(bk) == BATcount(bv));
-       return GDK_SUCCEED;
-}
-
-/*
- * BBP Management, IO
- */
-static gdk_return
-CMDrename(bit *retval, BAT *b, const char *s)
-{
-       int ret;
-       int c;
-       const char *t = s;
-
-       for ( ; (c = *t) != 0; t++) {
-               if (c != '_' && !GDKisalnum(c)) {
-                       GDKerror("CMDrename: identifier expected: %s\n", s);
-                       return GDK_FAIL;
-               }
-       }
-
-       ret = BATname(b, s);
-       *retval = FALSE;
-       if (ret == 1) {
-               GDKerror("CMDrename: identifier expected: %s\n", s);
-               return GDK_FAIL;
-       } else if (ret == BBPRENAME_ILLEGAL) {
-               GDKerror("CMDrename: illegal temporary name: '%s'\n", s);
-               return GDK_FAIL;
-       } else if (ret == BBPRENAME_LONG) {
-               GDKerror("CMDrename: name too long: '%s'\n", s);
-               return GDK_FAIL;
-       } else if (ret != BBPRENAME_ALREADY) {
-               *retval = TRUE;
-       }
-       return GDK_SUCCEED;
-}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to