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