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

Reply via email to