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

Reply via email to