Changeset: f14721a19a10 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f14721a19a10
Modified Files:
gdk/gdk_aggr.c
gdk/gdk_batop.c
gdk/gdk_group.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_logger_old.c
gdk/gdk_select.c
geom/monetdb5/geomBulk.c
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_profiler.c
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/blob.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/str.c
monetdb5/modules/atoms/uuid.c
monetdb5/modules/kernel/aggr.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batcolor.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/group.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/calc.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/mal_io.c
monetdb5/modules/mal/mkey.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/projectionpath.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/txtsim.c
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/UDF/pyapi3/pyapi3.c
sql/backends/monet5/UDF/pyapi3/pyloader3.c
sql/backends/monet5/generator/generator.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_bincopy.c
sql/backends/monet5/sql_cast.c
sql/backends/monet5/sql_cast_impl_int.h
sql/backends/monet5/sql_fround.c
sql/backends/monet5/sql_rank.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_round.c
sql/backends/monet5/sql_statistics.c
sql/backends/monet5/sql_subquery.c
sql/backends/monet5/sql_time.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/shp/shp.c
sql/storage/bat/bat_utils.c
tools/monetdbe/monetdbe.c
Branch: default
Log Message:
Use new version of BBPreclaim where it makes sense.
diffs (truncated from 3434 to 300 lines):
diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -1975,8 +1975,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
bailout:
bat_iterator_end(&bi);
bailout1:
- if (bn)
- BBPunfix(bn->batCacheid);
+ BBPreclaim(bn);
GDKfree(rems);
if (cntsp) {
BBPreclaim(*cntsp);
@@ -3720,8 +3719,7 @@ BATmin_skipnil(BAT *b, void *aggr, bit s
MT_lock_unset(&pb->theaplock);
}
}
- if (pb)
- BBPunfix(pb->batCacheid);
+ BBPreclaim(pb);
}
if (aggr == NULL) {
s = ATOMlen(bi.type, res);
@@ -3873,8 +3871,7 @@ BATmax_skipnil(BAT *b, void *aggr, bit s
MT_lock_unset(&pb->theaplock);
}
}
- if (pb)
- BBPunfix(pb->batCacheid);
+ BBPreclaim(pb);
}
if (aggr == NULL) {
s = ATOMlen(bi.type, res);
@@ -4240,8 +4237,7 @@ doBATgroupquantile(BAT *b, BAT *g, BAT *
}
if (oidxh != NULL)
HEAPdecref(oidxh, false);
- if (t1)
- BBPunfix(t1->batCacheid);
+ BBPreclaim(t1);
gdk_return rc = BUNappend(bn, v, false);
bat_iterator_end(&bi);
if (rc != GDK_SUCCEED)
@@ -4272,8 +4268,7 @@ doBATgroupquantile(BAT *b, BAT *g, BAT *
BBPunfix(b->batCacheid);
if (g && g != origg)
BBPunfix(g->batCacheid);
- if (bn)
- BBPunfix(bn->batCacheid);
+ BBPreclaim(bn);
return NULL;
}
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -2703,8 +2703,7 @@ BATsort(BAT **sorted, BAT **order, BAT *
MT_lock_unset(&pb->batIdxLock);
if (oidxh)
HEAPdecref(oidxh, false);
- if (bn)
- BBPunfix(bn->batCacheid);
+ BBPreclaim(bn);
if (pb && pb != b)
BBPunfix(pb->batCacheid);
BBPreclaim(on);
diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c
--- a/gdk/gdk_group.c
+++ b/gdk/gdk_group.c
@@ -1326,12 +1326,9 @@ BATgroup_internal(BAT **groups, BAT **ex
}
if (locked)
MT_rwlock_rdunlock(&b->thashlock);
- if (gn)
- BBPunfix(gn->batCacheid);
- if (en)
- BBPunfix(en->batCacheid);
- if (hn)
- BBPunfix(hn->batCacheid);
+ BBPreclaim(gn);
+ BBPreclaim(en);
+ BBPreclaim(hn);
return GDK_FAIL;
}
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -2789,8 +2789,7 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
GDKfree(hsh);
bat_iterator_end(&li);
bat_iterator_end(&ri);
- if (b)
- BBPunfix(b->batCacheid);
+ BBPreclaim(b);
return nomatch(r1p, r2p, l, r, lci,
false, false, __func__,
t0);
}
@@ -2806,8 +2805,7 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
MT_rwlock_rdunlock(&r->thashlock);
bat_iterator_end(&li);
bat_iterator_end(&ri);
- if (b)
- BBPunfix(b->batCacheid);
+ BBPreclaim(b);
return nomatch(r1p, r2p, l, r, lci,
false, false,
__func__, t0);
@@ -3036,8 +3034,7 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
ALGOBATPAR(r1), ALGOOPTBATPAR(r2),
GDKusec() - t0);
- if (b)
- BBPunfix(b->batCacheid);
+ BBPreclaim(b);
return GDK_SUCCEED;
bailout:
@@ -3052,8 +3049,7 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
}
BBPreclaim(r1);
BBPreclaim(r2);
- if (b)
- BBPunfix(b->batCacheid);
+ BBPreclaim(b);
return GDK_FAIL;
}
@@ -3806,22 +3802,18 @@ leftjoin(BAT **r1p, BAT **r2p, BAT *l, B
if (l->ttype == TYPE_msk || mask_cand(l)) {
l = BATunmask(l);
- if (lp != NULL)
- BBPunfix(lp->batCacheid);
+ BBPreclaim(lp);
if (l == NULL) {
- if (rp != NULL)
- BBPunfix(rp->batCacheid);
+ BBPreclaim(rp);
return GDK_FAIL;
}
lp = l;
}
if (r->ttype == TYPE_msk || mask_cand(r)) {
r = BATunmask(r);
- if (rp != NULL)
- BBPunfix(rp->batCacheid);
+ BBPreclaim(rp);
if (r == NULL) {
- if (lp != NULL)
- BBPunfix(lp->batCacheid);
+ BBPreclaim(lp);
return GDK_FAIL;
}
rp = r;
@@ -3974,8 +3966,7 @@ leftjoin(BAT **r1p, BAT **r2p, BAT *l, B
r1, NULL, NULL, false, false,
false);
BBPunfix(r1->batCacheid);
if (rc != GDK_SUCCEED) {
- if (r2)
- BBPunfix(r2->batCacheid);
+ BBPreclaim(r2);
goto doreturn;
}
*r1p = r1 = tmp;
@@ -4000,10 +3991,8 @@ leftjoin(BAT **r1p, BAT **r2p, BAT *l, B
not_in, max_one, min_one, estimate, t0, false, rhash,
prhash,
rcand, func);
doreturn:
- if (lp != NULL)
- BBPunfix(lp->batCacheid);
- if (rp != NULL)
- BBPunfix(rp->batCacheid);
+ BBPreclaim(lp);
+ BBPreclaim(rp);
return rc;
}
@@ -4172,22 +4161,18 @@ BATjoin(BAT **r1p, BAT **r2p, BAT *l, BA
if (l->ttype == TYPE_msk || mask_cand(l)) {
l = BATunmask(l);
- if (lp != NULL)
- BBPunfix(lp->batCacheid);
+ BBPreclaim(lp);
if (l == NULL) {
- if (rp != NULL)
- BBPunfix(rp->batCacheid);
+ BBPreclaim(rp);
return GDK_FAIL;
}
lp = l;
}
if (r->ttype == TYPE_msk || mask_cand(r)) {
r = BATunmask(r);
- if (rp != NULL)
- BBPunfix(rp->batCacheid);
+ BBPreclaim(rp);
if (r == NULL) {
- if (lp != NULL)
- BBPunfix(lp->batCacheid);
+ BBPreclaim(lp);
return GDK_FAIL;
}
rp = r;
@@ -4288,10 +4273,8 @@ BATjoin(BAT **r1p, BAT **r2p, BAT *l, BA
__func__);
}
doreturn:
- if (lp != NULL)
- BBPunfix(lp->batCacheid);
- if (rp != NULL)
- BBPunfix(rp->batCacheid);
+ BBPreclaim(lp);
+ BBPreclaim(rp);
return rc;
}
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -198,11 +198,10 @@ internal_find_bat(logger *lg, log_id id,
return -1; /* error creating hash */
}
-static void
+static inline void
logbat_destroy(BAT *b)
{
- if (b)
- BBPunfix(b->batCacheid);
+ BBPreclaim(b);
}
static BAT *
@@ -1243,8 +1242,7 @@ log_read_transaction(logger *lg)
if (!lg->flushing)
GDKdebug = dbg;
- if (cands)
- BBPunfix(cands->batCacheid);
+ BBPreclaim(cands);
if (!ok)
return LOG_EOF;
return err;
diff --git a/gdk/gdk_logger_old.c b/gdk/gdk_logger_old.c
--- a/gdk/gdk_logger_old.c
+++ b/gdk/gdk_logger_old.c
@@ -194,11 +194,10 @@ log_find(BAT *b, BAT *d, int val)
return BUN_NONE;
}
-static void
+static inline void
logbat_destroy(BAT *b)
{
- if (b)
- BBPunfix(b->batCacheid);
+ BBPreclaim(b);
}
static BAT *
@@ -1396,8 +1395,7 @@ logger_load(const char *fn, char filenam
||BBPrename(t, bak) < 0) {
BBPunfix(b->batCacheid);
BBPunfix(n->batCacheid);
- if (t)
- BBPunfix(t->batCacheid);
+ BBPreclaim(t);
GDKerror("inconsistent database, catalog_tpe does not
exist");
goto error;
}
@@ -1419,12 +1417,11 @@ logger_load(const char *fn, char filenam
if (o == NULL) {
o = logbat_new(TYPE_lng, BATSIZE, SYSTRANS);
if (o == NULL
- ||BBPrename(o, bak) < 0) {
+ || BBPrename(o, bak) < 0) {
BBPunfix(b->batCacheid);
BBPunfix(n->batCacheid);
BBPunfix(t->batCacheid);
- if (o)
- BBPunfix(o->batCacheid);
+ BBPreclaim(o);
GDKerror("inconsistent database, catalog_oid does not
exist");
goto error;
}
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -137,8 +137,7 @@ hashselect(BATiter *bi, struct canditer
if (!havehash) {
if (BAThash(bi->b) != GDK_SUCCEED) {
BBPreclaim(bn);
- if (b2)
- BBPunfix(b2->batCacheid);
+ BBPreclaim(b2);
return NULL;
}
MT_rwlock_rdlock(&bi->b->thashlock);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]