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