Changeset: 644cb2db9a78 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=644cb2db9a78
Modified Files:
        gdk/gdk_orderidx.c
        monetdb5/modules/mal/orderidx.c
Branch: Jul2017
Log Message:

Check input arguments.


diffs (56 lines):

diff --git a/gdk/gdk_orderidx.c b/gdk/gdk_orderidx.c
--- a/gdk/gdk_orderidx.c
+++ b/gdk/gdk_orderidx.c
@@ -320,6 +320,22 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar)
 
        if (BATcheckorderidx(b))
                return GDK_SUCCEED;
+       switch (ATOMstorage(b->ttype)) {
+       case TYPE_bte:
+       case TYPE_sht:
+       case TYPE_int:
+       case TYPE_lng:
+#ifdef HAVE_HGE
+       case TYPE_hge:
+#endif
+       case TYPE_flt:
+       case TYPE_dbl:
+               break;
+       default:
+               GDKerror("GDKmergeidx: type %s not supported.\n",
+                        ATOMname(b->ttype));
+               return GDK_FAIL;
+       }
        MT_lock_set(&GDKhashLock(b->batCacheid));
        if (b->torderidx) {
                MT_lock_unset(&GDKhashLock(b->batCacheid));
@@ -384,7 +400,6 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar)
 #endif
                case TYPE_flt: BINARY_MERGE(flt); break;
                case TYPE_dbl: BINARY_MERGE(dbl); break;
-               case TYPE_str:
                default:
                        /* TODO: support strings, date, timestamps etc. */
                        assert(0);
diff --git a/monetdb5/modules/mal/orderidx.c b/monetdb5/modules/mal/orderidx.c
--- a/monetdb5/modules/mal/orderidx.c
+++ b/monetdb5/modules/mal/orderidx.c
@@ -48,6 +48,9 @@ OIDXcreateImplementation(Client cntxt, i
                return MAL_SUCCEED;
 
        switch (ATOMbasetype(b->ttype)) {
+       case TYPE_void:
+               /* trivially supported */
+               return MAL_SUCCEED;
        case TYPE_bte:
        case TYPE_sht:
        case TYPE_int:
@@ -66,7 +69,7 @@ OIDXcreateImplementation(Client cntxt, i
                throw(MAL, "bat.orderidx", TYPE_NOT_SUPPORTED);
        }
 
-       if( pieces < 0 ){
+       if( pieces <= 0 ){
                if (GDKnr_threads <= 1) {
                        pieces = 1;
                } else {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to