Changeset: 4af43836222f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4af43836222f
Modified Files:
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/json.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/calc.c
Branch: default
Log Message:
More BATmark cleanup
Leaving some assertions behind, just in case.
diffs (126 lines):
diff --git a/monetdb5/modules/atoms/batxml.c b/monetdb5/modules/atoms/batxml.c
--- a/monetdb5/modules/atoms/batxml.c
+++ b/monetdb5/modules/atoms/batxml.c
@@ -1460,15 +1460,7 @@ BATxmlaggr(BAT **bnp, BAT *b, BAT *g, BA
goto out;
}
freeb = 1;
- if (b->htype != TYPE_void) {
- t1 = BATmirror(BATmark(BATmirror(b), 0));
- if (t1 == NULL) {
- err = "internal mark failed";
- goto out;
- }
- BBPunfix(b->batCacheid);
- b = t1;
- }
+ assert(b->htype); //headless guard
if (g) {
g = BATleftjoin(s, g, BATcount(s));
if (g == NULL) {
@@ -1476,15 +1468,7 @@ BATxmlaggr(BAT **bnp, BAT *b, BAT *g, BA
goto out;
}
freeg = 1;
- if (g->htype != TYPE_void) {
- t1 = BATmirror(BATmark(BATmirror(g), 0));
- if (t1 == NULL) {
- err = "internal mark failed";
- goto out;
- }
- BBPunfix(g->batCacheid);
- g = t1;
- }
+ assert(g->htype == TYPE_void);// headless guard
}
}
if (g && BATtdense(g)) {
diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c
--- a/monetdb5/modules/atoms/json.c
+++ b/monetdb5/modules/atoms/json.c
@@ -1858,6 +1858,7 @@ JSONjsonaggr(BAT **bnp, BAT *b, BAT *g,
if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &start,
&end, &cnt, &cand, &candend)) !=NULL) {
return err;
}
+ assert(b->htype == TYPE_void); // headless guard
assert(b->ttype == TYPE_str || b->ttype == TYPE_dbl);
if (BATcount(b) == 0 || ngrp == 0) {
bn = BATconstant(TYPE_str, ATOMnilptr(TYPE_str), ngrp,
TRANSIENT);
@@ -1874,15 +1875,6 @@ JSONjsonaggr(BAT **bnp, BAT *b, BAT *g,
goto out;
}
freeb = 1;
- if (b->htype != TYPE_void) {
- t1 = BATmirror(BATmark(BATmirror(b), 0));
- if (t1 == NULL) {
- err = "internal mark failed";
- goto out;
- }
- BBPunfix(b->batCacheid);
- b = t1;
- }
if (g) {
g = BATleftjoin(s, g, BATcount(s));
if (g == NULL) {
@@ -1890,15 +1882,7 @@ JSONjsonaggr(BAT **bnp, BAT *b, BAT *g,
goto out;
}
freeg = 1;
- if (g->htype != TYPE_void) {
- t1 = BATmirror(BATmark(BATmirror(g), 0));
- if (t1 == NULL) {
- err = "internal mark failed";
- goto out;
- }
- BBPunfix(g->batCacheid);
- g = t1;
- }
+ assert(g->htype == TYPE_void); // headless guard
}
}
diff --git a/monetdb5/modules/mal/batcalc.c b/monetdb5/modules/mal/batcalc.c
--- a/monetdb5/modules/mal/batcalc.c
+++ b/monetdb5/modules/mal/batcalc.c
@@ -988,7 +988,7 @@ CMDcalcavg(Client cntxt, MalBlkPtr mb, M
dbl avg;
BUN vals;
bat *bid;
- BAT *b, *s = NULL, *t;
+ BAT *b, *s = NULL;
gdk_return ret;
(void) cntxt;
@@ -1005,12 +1005,7 @@ CMDcalcavg(Client cntxt, MalBlkPtr mb, M
throw(MAL, "aggr.avg", RUNTIME_OBJECT_MISSING);
}
}
- if (!BAThdense(b)) {
- t = BATmirror(BATmark(BATmirror(b), 0)); /* [dense,tail] */
- BBPunfix(b->batCacheid);
- b = t;
- assert(s == NULL);
- }
+ assert(b->htype == TYPE_void);// headless guard
ret = BATcalcavg(b, s, &avg, &vals);
BBPunfix(b->batCacheid);
if (s)
diff --git a/monetdb5/modules/mal/calc.c b/monetdb5/modules/mal/calc.c
--- a/monetdb5/modules/mal/calc.c
+++ b/monetdb5/modules/mal/calc.c
@@ -803,14 +803,7 @@ CMDBATsumprod(MalBlkPtr mb, MalStkPtr st
}
}
}
- if (s == NULL && !BAThdense(b)) {
- /* XXX backward compatibility code: ignore non-dense head, but
- * only if no candidate list */
- s = BATmirror(BATmark(BATmirror(b), 0));
- BBPunfix(b->batCacheid);
- b = s;
- s = NULL;
- }
+ assert(BAThdense(b) && b->htype == TYPE_void); // headless guard
r = (*sumprod)(VALget(ret), ret->vtype, b, s, 1, 1, nil_if_empty);
BBPunfix(b->batCacheid);
if (s)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list