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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org