Changeset: d905621abbbe for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d905621abbbe
Modified Files:
        monetdb5/modules/mal/batExtensions.c
        sql/backends/monet5/sql.c
Branch: default
Log Message:

Changed some oid-headed bats into void-headed ones.


diffs (69 lines):

diff --git a/monetdb5/modules/mal/batExtensions.c 
b/monetdb5/modules/mal/batExtensions.c
--- a/monetdb5/modules/mal/batExtensions.c
+++ b/monetdb5/modules/mal/batExtensions.c
@@ -169,9 +169,10 @@ CMDBATsingle(Client cntxt, MalBlkPtr mb,
 
        (void)cntxt;
 
-       b = BATnew(TYPE_oid,getArgType(mb,pci,1),0, TRANSIENT);
+       b = BATnew(TYPE_void,getArgType(mb,pci,1),0, TRANSIENT);
        if( b == 0)
                throw(MAL,"bat.single","Could not create it");
+       BATseqbase(b, 0);
     if (b->ttype >= TYPE_str && ATOMstorage(b->ttype) >= TYPE_str) {
         if (u == 0 || *(str*)u == 0)
             u = (ptr) str_nil;
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -4294,7 +4294,7 @@ do_sql_rank_grp(bat *rid, const bat *bid
                throw(SQL, name, "bat not sorted");
        }
 */
-       r = BATnew(TYPE_oid, TYPE_int, BATcount(b), TRANSIENT);
+       r = BATnew(TYPE_void, TYPE_int, BATcount(b), TRANSIENT);
        if (r == NULL) {
                BBPunfix(b->batCacheid);
                BBPunfix(g->batCacheid);
@@ -4310,9 +4310,10 @@ do_sql_rank_grp(bat *rid, const bat *bid
                        c = rank = nrank = 1;
                oc = on;
                gc = gn;
-               BUNins(r, BUNhead(bi, p), &rank, FALSE);
+               BUNappend(r, &rank, FALSE);
                nrank += !dense || c;
        }
+       BATseqbase(r, BAThdense(b) ? b->hseqbase : 0);
        BBPunfix(b->batCacheid);
        BBPunfix(g->batCacheid);
        BBPkeepref(*rid = r->batCacheid);
@@ -4338,14 +4339,14 @@ do_sql_rank(bat *rid, const bat *bid, in
        bi = bat_iterator(b);
        cmp = ATOMcompare(b->ttype);
        cur = BUNtail(bi, BUNfirst(b));
-       r = BATnew(TYPE_oid, TYPE_int, BATcount(b), TRANSIENT);
+       r = BATnew(TYPE_void, TYPE_int, BATcount(b), TRANSIENT);
        if (r == NULL) {
                BBPunfix(b->batCacheid);
                throw(SQL, name, "cannot allocate result bat");
        }
        if (BATtdense(b)) {
                BATloop(b, p, q) {
-                       BUNins(r, BUNhead(bi, p), &rank, FALSE);
+                       BUNappend(r, &rank, FALSE);
                        rank++;
                }
        } else {
@@ -4354,10 +4355,11 @@ do_sql_rank(bat *rid, const bat *bid, in
                        if ((c = cmp(n, cur)) != 0)
                                rank = nrank;
                        cur = n;
-                       BUNins(r, BUNhead(bi, p), &rank, FALSE);
+                       BUNappend(r, &rank, FALSE);
                        nrank += !dense || c;
                }
        }
+       BATseqbase(r, BAThdense(b) ? b->hseqbase : 0);
        BBPunfix(b->batCacheid);
        BBPkeepref(*rid = r->batCacheid);
        return MAL_SUCCEED;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to