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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list