Changeset: 02e45980d642 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=02e45980d642
Modified Files:
        sql/backends/monet5/datacell/datacell.c
        sql/backends/monet5/datacell/emitter.c
        sql/backends/monet5/datacell/receptor.c
Branch: Jan2014
Log Message:

Get datacell to compile again
Still tests to be fixed before Jan14 SP-2


diffs (248 lines):

diff --git a/sql/backends/monet5/datacell/datacell.c 
b/sql/backends/monet5/datacell/datacell.c
--- a/sql/backends/monet5/datacell/datacell.c
+++ b/sql/backends/monet5/datacell/datacell.c
@@ -89,12 +89,12 @@ DCprelude(Client cntxt, MalBlkPtr mb, Ma
        MT_lock_init( &dcLock, "datacellLock");
 #endif
        addPipeDefinition(cntxt, "datacell_pipe",
-               
"optimizer.inline();optimizer.remap();optimizer.datacell();optimizer.garbageCollector();"
-               
"optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();"
-               
"optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();"
-               
"optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();"
-               
"optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();"
-               
"optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();");
+       "optimizer.inline(); 
optimizer.remap();optimizer.datacell();optimizer.costModel();"
+       "optimizer.coercions(); optimizer.evaluate(); optimizer.emptySet(); 
optimizer.aliases();"
+       "optimizer.pushselect(); optimizer.mitosis(); optimizer.mergetable(); 
optimizer.deadcode();"
+       "optimizer.commonTerms(); optimizer.joinPath(); optimizer.reorder(); 
optimizer.deadcode();"
+       "optimizer.reduce(); optimizer.matpack(); optimizer.dataflow(); 
optimizer.querylog();"
+       "optimizer.multiplex(); optimizer.garbageCollector();");
        return MAL_SUCCEED;
 }
 
diff --git a/sql/backends/monet5/datacell/emitter.c 
b/sql/backends/monet5/datacell/emitter.c
--- a/sql/backends/monet5/datacell/emitter.c
+++ b/sql/backends/monet5/datacell/emitter.c
@@ -114,7 +114,7 @@ EMemitterStartInternal(int *ret, str *tb
                throw(MAL, "emitter.new", "Group '%s' has no members", *tbl);
 
        em->table.format = GDKzalloc(sizeof(Column) * (len + 1));
-       em->table.format[0].c[0] = NULL;
+       em->table.format[0].c = NULL;
        em->table.format[0].name = NULL;
        em->table.format[0].sep = "[ ";
        em->table.format[0].seplen = (int) strlen(em->table.format[0].sep);
@@ -126,23 +126,22 @@ EMemitterStartInternal(int *ret, str *tb
                        throw(MAL, "receptor.new", "Could not access 
descriptor");
                }
 
-               em->table.format[j].c[0] = BATcopy(b, b->htype, b->ttype, 
FALSE);
-               em->table.format[j].ci[0] = 
bat_iterator(em->table.format[j].c[0]);
+               em->table.format[j].c = BATcopy(b, b->htype, b->ttype, FALSE);
+               em->table.format[j].ci = bat_iterator(em->table.format[j].c);
                em->table.format[j].name = baskets[idx].cols[i];
                em->table.format[j].sep = ",";
                em->table.format[j].seplen = (int) 
strlen(em->table.format[j].sep);
-               em->table.format[j].type = 
GDKstrdup(ATOMname(em->table.format[j].c[0]->ttype));
-               em->table.format[j].adt = em->table.format[j].c[0]->ttype;
+               em->table.format[j].type = 
GDKstrdup(ATOMname(em->table.format[j].c->ttype));
+               em->table.format[j].adt = em->table.format[j].c->ttype;
                em->table.format[j].nullstr = "";
-               em->table.format[j].tostr = &TABLETadt_toStr;
-               em->table.format[j].frstr = &TABLETadt_frStr;
+               em->table.format[j].tostr = (void*) &TABLETadt_toStr;
+               em->table.format[j].frstr = (void*) &TABLETadt_frStr;
                em->table.format[j].extra = em->table.format + j;
                em->table.format[j].len = 0;
                em->table.format[j].nillen = 0;
                em->table.format[j].data = NULL;
                j++;
        }
-       GDKfree(em->table.format[j - 1].sep);
        em->table.format[j - 1].sep = "\n";
        em->table.format[j - 1].seplen = (int) strlen(em->table.format[j - 
1].sep);
        em->table.nr_attrs = j;
@@ -274,7 +273,6 @@ static void
 EMbody(Emitter em)
 {
        BUN cnt;
-       size_t j;
        int k, ret;
        BAT *b;
 
@@ -326,27 +324,27 @@ bodyRestart:
                 */
                BSKTlock(&em->lck, &em->name, &em->delay);
                for (k = 0; k < baskets[em->bskt].colcount; k++) {
-                       if (em->table.format[k].c[0])
-                               BBPunfix(em->table.format[k].c[0]->batCacheid);
+                       if (em->table.format[k].c)
+                               BBPunfix(em->table.format[k].c->batCacheid);
                        b = baskets[em->bskt].primary[k];
-                       em->table.format[k].c[0] = BATcopy(b, b->htype, 
b->ttype, TRUE);
-                       em->table.format[k].ci[0] = bat_iterator(b);
+                       em->table.format[k].c = BATcopy(b, b->htype, b->ttype, 
TRUE);
+                       em->table.format[k].ci = bat_iterator(b);
                        BATclear(b, FALSE);
                }
                BSKTunlock(&em->lck, &em->name);
-               if ((cnt = BATcount(em->table.format[0].c[0]))) {
+               if ((cnt = BATcount(em->table.format[0].c))) {
                        MTIMEcurrent_timestamp(&baskets[em->bskt].seen);
                        em->cycles++;
 
-                       cnt = BATcount(em->table.format[1].c[0]);
+                       cnt = BATcount(em->table.format[1].c);
 #ifdef _DEBUG_EMITTER_
                        mnstr_printf(EMout, "#Emit " BUNFMT " tuples \n", cnt);
 #endif
                        em->table.nr = cnt;
 
                        (void) MTIMEcurrent_timestamp(&em->lastseen);
-                       ret = TABLEToutput_file(&em->table, 
em->table.format[1].c[0], em->emitter);
-                       em->sent += (int) BATcount(em->table.format[1].c[0]);
+                       ret = TABLEToutput_file(&em->table, 
em->table.format[1].c, em->emitter);
+                       em->sent += (int) BATcount(em->table.format[1].c);
 #ifdef _DEBUG_EMITTER_
                        if (ret < 0)
                                mnstr_printf(EMout, "#Tuple emission failed\n");
@@ -491,7 +489,7 @@ EMtable(int *nameId, int *hostId, int *p
        BATseqbase(status, 0);
 
        for (; em; em = em->nxt)
-       if ( em->table.format[1].c[0]){
+       if ( em->table.format[1].c){
                BUNappend(name, em->name, FALSE);
                BUNappend(host, em->host, FALSE);
                BUNappend(port, &em->port, FALSE);
@@ -500,7 +498,7 @@ EMtable(int *nameId, int *hostId, int *p
                BUNappend(status, statusname[em->status], FALSE);
                BUNappend(seen, &em->lastseen, FALSE);
                BUNappend(cycles, &em->cycles, FALSE);
-               em->pending += (int) BATcount(em->table.format[1].c[0]);
+               em->pending += (int) BATcount(em->table.format[1].c);
                BUNappend(pending, &em->pending, FALSE);
                BUNappend(sent, &em->sent, FALSE);
        }
diff --git a/sql/backends/monet5/datacell/receptor.c 
b/sql/backends/monet5/datacell/receptor.c
--- a/sql/backends/monet5/datacell/receptor.c
+++ b/sql/backends/monet5/datacell/receptor.c
@@ -139,14 +139,14 @@ RCreceptorStartInternal(int *ret, str *t
                        throw(MAL, "receptor.new", "Could not access 
descriptor");
                }
                BBPincref(b->batCacheid, TRUE);
-               fmt[j].c[0] = b;
+               fmt[j].c = b;
                fmt[j].name = baskets[idx].cols[i];
                fmt[j].sep = ",";
                fmt[j].seplen = 1;
                fmt[j].type = GDKstrdup(ATOMname(b->ttype));
                fmt[j].adt = (b)->ttype;
-               fmt[j].tostr = &TABLETadt_toStr;
-               fmt[j].frstr = &TABLETadt_frStr;
+               fmt[j].tostr = (void*) &TABLETadt_toStr;
+               fmt[j].frstr = (void*) &TABLETadt_frStr;
                fmt[j].extra = fmt + j;
                fmt[j].len = fmt[j].nillen =
                                                 ATOMlen(fmt[j].adt, 
ATOMnilptr(fmt[j].adt));
@@ -345,7 +345,7 @@ insert_val(Column *fmt, char *s, char *e
                /* string needs the quotes included */
                s = find_quote(s, quote);
                if (!s) {
-                       snprintf(buf, BUFSIZ, "quote '%c' expected but not 
found in \"%s\" from line " BUNFMT "\n", quote, s, BATcount(fmt->c[0]));
+                       snprintf(buf, BUFSIZ, "quote '%c' expected but not 
found in \"%s\" from line " BUNFMT "\n", quote, s, BATcount(fmt->c));
                        *err = GDKstrdup(buf);
                        return -1;
                }
@@ -360,7 +360,7 @@ insert_val(Column *fmt, char *s, char *e
                         strncasecmp(s, fmt->nullstr + 1, fmt->nillen) == 0 &&
                         quote == fmt->nullstr[fmt->nillen - 1])) {
                        adt = fmt->nildata;
-                       fmt->c[0]->T->nonil = 0;
+                       fmt->c->T->nonil = 0;
                } else
                        adt = fmt->frstr(fmt, fmt->adt, s, e, quote);
                if (bak)
@@ -374,7 +374,7 @@ insert_val(Column *fmt, char *s, char *e
                if ((s == e && fmt->nullstr[0] == 0) ||
                        (e > s && strcasecmp(s, fmt->nullstr) == 0)) {
                        adt = fmt->nildata;
-                       fmt->c[0]->T->nonil = 0;
+                       fmt->c->T->nonil = 0;
                } else
                        adt = fmt->frstr(fmt, fmt->adt, s, e, quote);
                if (bak)
@@ -388,16 +388,16 @@ insert_val(Column *fmt, char *s, char *e
                val = (s != e) ? GDKstrdup(s) : GDKstrdup("");
                *e = bak;
 
-               snprintf(buf, BUFSIZ, "value '%s' while parsing '%s' from line 
" BUNFMT " field %d not inserted, expecting type %s\n", val, s, 
BATcount(fmt->c[0]), c, fmt->type);
+               snprintf(buf, BUFSIZ, "value '%s' while parsing '%s' from line 
" BUNFMT " field %d not inserted, expecting type %s\n", val, s, 
BATcount(fmt->c), c, fmt->type);
                *err = GDKstrdup(buf);
                GDKfree(val);
                return -1;
        }
        /* key may be NULL but that's not a problem, as long as we have void */
-       bunfastins(fmt->c[0], key, adt);
+       bunfastins(fmt->c, key, adt);
        return 0;
   bunins_failed:
-       snprintf(buf, BUFSIZ, "while parsing '%s' from line " BUNFMT " field %d 
not inserted\n", s, BATcount(fmt->c[0]), c);
+       snprintf(buf, BUFSIZ, "while parsing '%s' from line " BUNFMT " field %d 
not inserted\n", s, BATcount(fmt->c), c);
        *err = GDKstrdup(buf);
        return -1;
 }
@@ -447,7 +447,7 @@ insert_line(Tablet *as, char *line, ptr 
                        line++;
                        line = tablet_skip_string(line, quote);
                        if (!line) {
-                               snprintf(errmsg, BUFSIZ, "End of string (%c) 
missing " "in %s at line " BUNFMT "\n", quote, s, BATcount(fmt->c[0]));
+                               snprintf(errmsg, BUFSIZ, "End of string (%c) 
missing " "in %s at line " BUNFMT "\n", quote, s, BATcount(fmt->c));
                                as->error = GDKstrdup(errmsg);
                                if (!as->tryall)
                                        return -1;
@@ -488,7 +488,7 @@ insert_line(Tablet *as, char *line, ptr 
                                BUNins(as->complaints, NULL, as->error, TRUE);
                        }
                } else {
-                       snprintf(errmsg, BUFSIZ, "missing separator '%s' line " 
BUNFMT " field " BUNFMT "\n", fmt->sep, BATcount(fmt->c[0]), i);
+                       snprintf(errmsg, BUFSIZ, "missing separator '%s' line " 
BUNFMT " field " BUNFMT "\n", fmt->sep, BATcount(fmt->c), i);
                        as->error = GDKstrdup(errmsg);
                        if (!as->tryall)
                                return -1;
@@ -567,7 +567,7 @@ bodyRestart:
                        mnstr_close(receptor);
                        for (j = 0; j < rc->table.nr_attrs; j++) {
                                GDKfree(rc->table.format[j].data);
-                               BBPdecref(rc->table.format[j].c[0]->batCacheid, 
TRUE);
+                               BBPdecref(rc->table.format[j].c->batCacheid, 
TRUE);
                                /* above will be double freed with multiple
                                 * streams/threads */
                        }
@@ -610,7 +610,7 @@ bodyRestart:
                        /* BATs may be replaced in the meantime */
                        BSKTlock(&rc->lck, &rc->name, &rc->delay);
                        for (i = 0; i < baskets[rc->bskt].colcount; i++)
-                               rc->table.format[i].c[0] = 
baskets[rc->bskt].primary[i];
+                               rc->table.format[i].c = 
baskets[rc->bskt].primary[i];
                        BSKTunlock(&rc->lck, &rc->name);
 
                        cnt = 0;
@@ -946,7 +946,7 @@ RCtable(int *nameId, int *hostId, int *p
        BATseqbase(status, 0);
 
        for (; rc; rc = rc->nxt)
-               if (rc->table.format[1].c[0]) {
+               if (rc->table.format[1].c) {
                        BUNappend(name, rc->name, FALSE);
                        BUNappend(host, rc->host, FALSE);
                        BUNappend(port, &rc->port, FALSE);
@@ -955,7 +955,7 @@ RCtable(int *nameId, int *hostId, int *p
                        BUNappend(status, statusname[rc->status], FALSE);
                        BUNappend(seen, &rc->lastseen, FALSE);
                        BUNappend(cycles, &rc->cycles, FALSE);
-                       rc->pending = (int) BATcount(rc->table.format[1].c[0]);
+                       rc->pending = (int) BATcount(rc->table.format[1].c);
                        BUNappend(pending, &rc->pending, FALSE);
                        BUNappend(received, &rc->received, FALSE);
                }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to