In the light of :oid- or even dense-headed BATs (and eventually COLs), what is the reason to only check/assert head properties (trivial once dense), but not tail properties?
Stefan ----- Original Message ----- > Changeset: f96a7db93e54 for MonetDB > URL: > http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f96a7db93e54 > Modified Files: > monetdb5/mal/mal_dataflow.c > monetdb5/mal/mal_interpreter.c > Branch: default > Log Message: > > Include debugging > We have to trace for illegal property settings. It is an expensive > test, that may isolate a few deeply hidden errors. > > Moreover, initialize the cpu affinity > > > diffs (61 lines): > > diff --git a/monetdb5/mal/mal_dataflow.c > b/monetdb5/mal/mal_dataflow.c > --- a/monetdb5/mal/mal_dataflow.c > +++ b/monetdb5/mal/mal_dataflow.c > @@ -614,6 +614,16 @@ DFLOWstep(FlowTask *t, FlowStatus fs) > if (isaBatType(getArgType(mb, pci, i))) > { > bat bid = stk->stk[a].val.bval; > > +#ifndef NDEBUG > +#if 0 /* when needed, enable */ > + if (i < pci->retc && bid){ > + BAT *b = > BATdescriptor(bid); > + BATassertHeadProps(b); > + BBPunfix(b->batCacheid); > + } > +#endif > +#endif > + /* Check output properties */ > /* update the bigfoot > information only if we need to gc */ > if (cntxt->flags & bigfootFlag) > updateBigFoot(cntxt, > bid, TRUE); > @@ -811,8 +821,12 @@ runDFLOWworker(void *t) > Thread thr; > int i, local = 0, last = 0; > long usec=0; > + //int cpu; > > thr = THRnew(MT_getpid(), "DFLOWworker"); > + > + //cpu = MT_set_affinity(task->id); > + > GDKsetbuf(GDKmalloc(GDKMAXERRLEN)); /* where to leave errors */ > GDKerrbuf[0] = 0; > while (task) { > @@ -915,6 +929,7 @@ runDFLOWworker(void *t) > } > GDKfree(GDKerrbuf); > GDKsetbuf(0); > + //MT_unset_affinity(cpu); > THRdel(thr); > } > > diff --git a/monetdb5/mal/mal_interpreter.c > b/monetdb5/mal/mal_interpreter.c > --- a/monetdb5/mal/mal_interpreter.c > +++ b/monetdb5/mal/mal_interpreter.c > @@ -856,6 +856,16 @@ str runMALsequence(Client cntxt, MalBlkP > if (isaBatType(getArgType(mb, > pci, i))) { > bat bid = > stk->stk[a].val.bval; > > +#ifndef NDEBUG > +#if 0 /* when needed, enable */ > + if (i < pci->retc && > bid){ > + BAT *b = > BATdescriptor(bid); > + > BATassertHeadProps(b); > + > BBPunfix(b->batCacheid); > + } > +#endif > +#endif > + > /* update the bigfoot > information only if we need to gc */ > if (cntxt->flags & > bigfootFlag) > > updateBigFoot(cntxt, bid, TRUE); > _______________________________________________ > Checkin-list mailing list > checkin-l...@monetdb.org > http://mail.monetdb.org/mailman/listinfo/checkin-list > ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers