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
> [email protected]
> http://mail.monetdb.org/mailman/listinfo/checkin-list
> 
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to