yep. thanks!
testing just reminded me as well ;-)
fix on its way.
Sorry for premature checking!

Stefan

----- Original Message -----
> On 2012-07-25 09:24, Stefan Manegold wrote:
> > Changeset: 4da710a71d6f for MonetDB
> > URL:
> > http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4da710a71d6f
> > Modified Files:
> >     gdk/gdk.h
> >     gdk/gdk_bat.c
> > Branch: xid
> > Log Message:
> > 
> > BATderiveHeadProps & COLsettrivprop: do not set/derive properties
> > for xid-compressed BATs
> > their content is known and designed to not match their properties
> > see also changesets 805110fd0096 & b33eba6cfb09
> > 
> > 
> > diffs (36 lines):
> > 
> > diff --git a/gdk/gdk.h b/gdk/gdk.h
> > --- a/gdk/gdk.h
> > +++ b/gdk/gdk.h
> > @@ -1699,8 +1699,10 @@ gdk_export void GDKqsort_rev(void *h, vo
> >  #define BATtkey(b) (b->tkey != FALSE || BATtdense(b))
> >  
> >  /* set some properties that are trivial to deduce */
> > +/* but not for xid-compressed BATs */
> >  #define COLsettrivprop(b, col)                                             
> > \
> >     do {                                                            \
> > +       if (b->htype == TYPE_oid && b->H->heap.xidcompressed) {     \
> 
> Shouldn't that be:
> if (b->htype != TYPE_oid || !b->H->heap.xidcompressed) {
> ?
> You want the properties to be set if the heap is *not* compressed.
> 
> >             if ((col)->type == TYPE_void) {                         \
> >                     if ((col)->seq == oid_nil) {                    \
> >                             if (!(col)->nil && (b)->batCount >= 1) { \
> > @@ -1772,6 +1774,7 @@ gdk_export void GDKqsort_rev(void *h, vo
> >                             (b)->batDirtydesc = 1;                  \
> >                     }                                               \
> >             }                                                       \
> > +       }                                                           \
> >     } while (0)
> >  #define BATsettrivprop(b)                  \
> >     do {                                    \
> > diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
> > --- a/gdk/gdk_bat.c
> > +++ b/gdk/gdk_bat.c
> > @@ -3096,6 +3096,10 @@ BATderiveHeadProps(BAT *b, int expensive
> >     assert(b != NULL);
> >     if (b == NULL)
> >             return;
> > +   if (b->htype == TYPE_oid && b->H->heap.xidcompressed) {
> > +           /* avoid property deriving on xid-compressed BATs */
> > +           return;
> > +   }
> >     assert((b->hkey & BOUND2BTRUE) == 0);
> >     COLsettrivprop(b, b->H);
> >     cmpf = BATatoms[b->htype].atomCmp;
> > _______________________________________________
> > Checkin-list mailing list
> > Checkin-list@monetdb.org
> > http://mail.monetdb.org/mailman/listinfo/checkin-list
> > 
> 
> 
> --
> Sjoerd Mullender <sjo...@monetdb.org>
> MonetDB: Column store pioneers <http://www.monetdb.org/>
> 
> 
> _______________________________________________
> Checkin-list mailing list
> Checkin-list@monetdb.org
> http://mail.monetdb.org/mailman/listinfo/checkin-list
> 
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to