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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to