Changeset: 5e64ddaa1026 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5e64ddaa1026
Modified Files:
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/pqueue.c
sql/test/BugTracker-2013/Tests/All
Branch: mutation
Log Message:
merge with default
diffs (85 lines):
diff --git a/monetdb5/modules/mal/mat.c b/monetdb5/modules/mal/mat.c
--- a/monetdb5/modules/mal/mat.c
+++ b/monetdb5/modules/mal/mat.c
@@ -91,6 +91,8 @@ MATpackInternal(Client cntxt, MalBlkPtr
BUN cap = 0;
int tt = TYPE_any;
int sorted =1, keyed=1, voidheaded=1;
+ (void) cntxt;
+ (void) mb;
for (i = 1; i < p->argc; i++) {
int bid = stk->stk[getArg(p,i)].val.ival;
@@ -515,6 +517,7 @@ MATmergepack(Client cntxt, MalBlkPtr mb,
}
top--;
} else{
+ // resort priority queue
onxt= *o_src[0];
for( j=1; j< top && onxt > *o_src[j]; j++){
oo = o_src[j]; o_src[j]= o_src[j-1];
o_src[j-1]= oo;
@@ -525,13 +528,13 @@ MATmergepack(Client cntxt, MalBlkPtr mb,
}
for( i=0; i< top; i++)
BBPunfix(bats[i]->batCacheid);
+ BATsetcount(bn, (BUN) (o - (oid *) Tloc(bn, BUNfirst(bn))));
+ BATseqbase(bn, 0);
BATsettrivprop(bn);
GDKfree(bats);
GDKfree(o_src);
GDKfree(o_end);
/* properties */
- BATsetcount(bn, (BUN) (o - (oid *) Tloc(bn, BUNfirst(bn))));
- BATseqbase(bn, 0);
bn->trevsorted = 0;
bn->tsorted = 1;
bn->tkey = 1;
diff --git a/monetdb5/modules/mal/pqueue.c b/monetdb5/modules/mal/pqueue.c
--- a/monetdb5/modules/mal/pqueue.c
+++ b/monetdb5/modules/mal/pqueue.c
@@ -1067,11 +1067,12 @@ PQinit(int *ret, int *bid, wrd *maxsize)
}
static void
-PQtopn_sorted_min( BAT **bn, BAT *b, wrd N )
+PQtopn_sorted_min( BAT **bn, BAT *b, wrd _N )
{
- ssize_t cnt = BATcount(b);
+ BUN cnt = BATcount(b), N = (BUN) _N;
+ assert(_N >= 0);
if (b->tsorted) {
- b = BATslice(b, (cnt-N)<0?0:cnt-N, cnt);
+ b = BATslice(b, N>=cnt?0:cnt-N, cnt);
*bn = BATsort_rev(b);
BBPreleaseref(b->batCacheid);
} else
@@ -1079,13 +1080,14 @@ PQtopn_sorted_min( BAT **bn, BAT *b, wrd
}
static void
-PQtopn_sorted_max( BAT **bn, BAT *b, wrd N )
+PQtopn_sorted_max( BAT **bn, BAT *b, wrd _N )
{
- ssize_t cnt = BATcount(b);
+ BUN cnt = BATcount(b), N = (BUN) _N;
+ assert(_N >= 0);
if (b->tsorted)
*bn = BATslice(b, 0, N>=cnt?cnt:N);
else {
- b = BATslice(b, (cnt-N)<0?0:cnt-N, cnt);
+ b = BATslice(b, N>=cnt?0:cnt-N, cnt);
*bn = BATsort_rev(b);
BBPreleaseref(b->batCacheid);
}
diff --git a/sql/test/BugTracker-2013/Tests/All
b/sql/test/BugTracker-2013/Tests/All
--- a/sql/test/BugTracker-2013/Tests/All
+++ b/sql/test/BugTracker-2013/Tests/All
@@ -26,7 +26,7 @@ add_boolean.Bug-3289
prepare-smallint.Bug-3297
psm_functions_and_accessrights.Bug-3300
decimal-cast.Bug-3310
-hashed_exp.Bug-3313
+HAVE_GEOM?hashed_exp.Bug-3313
mitosis-floor.Bug-3330
avg_needs_abort_on_error.Bug-3329
unique_constraint_on_declared_table.Bug-3319
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list