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