Changeset: 9f0850d80d31 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9f0850d80d31 Modified Files: gdk/gdk_select.c gdk/gdk_ssort_impl.h gdk/gdk_value.c Branch: compressedcandidates Log Message:
TYPE_msk in select and ssort diffs (69 lines): diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -1212,6 +1212,11 @@ BATselect(BAT *b, BAT *s, const void *tl assert(li == 0 || li == 1); assert(anti == 0 || anti == 1); + if (ATOMtype(b->ttype) == TYPE_msk) { + GDKerror("Select operator not supported for TYPE_msk"); + return NULL; + } + if ((li != 0 && li != 1) || (hi != 0 && hi != 1) || (anti != 0 && anti != 1)) { diff --git a/gdk/gdk_ssort_impl.h b/gdk/gdk_ssort_impl.h --- a/gdk/gdk_ssort_impl.h +++ b/gdk/gdk_ssort_impl.h @@ -872,6 +872,10 @@ GDKssortimpl(void *h, void *t, const voi if (do_ssort_dbl(&ms, nremaining, lo, hi, minrun) < 0) goto fail; break; + case TYPE_msk: + GDKerror("Sorting is not supported on TYPE_msk"); + goto fail; + break; default: if (do_ssort_any(&ms, nremaining, lo, hi, minrun) < 0) goto fail; diff --git a/gdk/gdk_value.c b/gdk/gdk_value.c --- a/gdk/gdk_value.c +++ b/gdk/gdk_value.c @@ -72,6 +72,9 @@ VALset(ValPtr v, int t, ptr p) v->val.hval = *(hge *) p; break; #endif + case TYPE_msk: + v->val.mval = *(msk *) p; + break; case TYPE_str: v->val.sval = (str) p; v->len = ATOMlen(t, p); @@ -104,6 +107,7 @@ VALget(ValPtr v) #ifdef HAVE_HGE case TYPE_hge: return (void *) &v->val.hval; #endif + case TYPE_msk: return (void *) &v->val.mval; case TYPE_str: return (void *) v->val.sval; default: return (void *) v->val.pval; } @@ -202,6 +206,9 @@ VALinit(ValPtr d, int tpe, const void *s d->val.hval = *(const hge *) s; break; #endif + case TYPE_msk: + d->val.mval = *(const msk *) s; + break; case TYPE_str: d->val.sval = GDKstrdup(s); if (d->val.sval == NULL) @@ -321,6 +328,8 @@ VALisnil(const ValRecord *v) return v->val.fval == flt_nil; case TYPE_dbl: return v->val.dval == dbl_nil; + case TYPE_msk: + return v->val.mval == msk_nil; case TYPE_oid: return v->val.oval == oid_nil; case TYPE_bat: _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list