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