Changeset: 5b2eed481378 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5b2eed481378
Modified Files:
        clients/Tests/exports.stable.out
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_type.h
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mat.h
        monetdb5/modules/mal/mat.mal
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/optimizer/opt_multiplex.c
        sql/backends/monet5/sql_gencode.c
        testing/Mtest.py.in
Branch: embedded
Log Message:

merge


diffs (truncated from 1063 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1363,7 +1363,6 @@ str MATpack2(Client cntxt, MalBlkPtr mb,
 str MATpackIncrement(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str MATpackSlice(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str MATpackValues(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-str MATprint(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str MATproject(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str MATsort(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str MATsortReverse(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c
--- a/monetdb5/mal/mal_function.c
+++ b/monetdb5/mal/mal_function.c
@@ -288,17 +288,15 @@ static void replaceTypeVar(MalBlkPtr mb,
        for(i=0;i<p->argc; i++)
        if( isPolymorphic(x= getArgType(mb,p,i))) {
                if( isaBatType(x)){
-                       int head,tail;
+                       int tail;
                        int tx;
-                       head = TYPE_oid;
                        tail = getColumnType(x);
                        tx = getColumnIndex(x);
-                       head = TYPE_oid;
                        if(v && tx == v && tail == TYPE_any){
                            tx= 0;
                            tail = t;
                        }
-                       y= newBatType(head,tail);
+                       y= newBatType(TYPE_oid,tail);
                        setAnyColumnIndex(y,tx);
                        setArgType(mb,p,i,y);
 #ifdef DEBUG_MAL_FCN
diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -689,8 +689,7 @@ parseTypeId(Client cntxt, int defaultTyp
                                parseError(cntxt, "':oid' expected\n");
                                return i;
                        }
-               } else
-                       ht = TYPE_any;
+               } 
 
                if (currChar(cntxt) != ',') {
                        parseError(cntxt, "',' expected\n");
@@ -704,7 +703,7 @@ parseTypeId(Client cntxt, int defaultTyp
                } else
                        tt = TYPE_any;
 
-               i = newBatType(ht, tt);
+               i = newBatType(TYPE_oid, tt);
                if (kh > 0)
                        setAnyHeadIndex(i, kh);
                if (kt > 0)
diff --git a/monetdb5/mal/mal_type.h b/monetdb5/mal/mal_type.h
--- a/monetdb5/mal/mal_type.h
+++ b/monetdb5/mal/mal_type.h
@@ -16,7 +16,7 @@
 #define TMPMARKER '_'
 #define REFMARKER 'X'
 
-#define newBatType(H,T)  (1<<16 | (((H & 0377) <<8) | (T & 0377) ))
+#define newBatType(H,T)  (1<<16 | (((TYPE_oid & 0377) <<8) | (T & 0377) ))
 #define isaBatType(X)   ((1<<16) & (X) && (X)!= TYPE_any)
 #define setAnyHeadIndex(X,I) X |= ((I & 017)<<22);
 #define isAnyExpression(X) ((X) >> 17)
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);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to