Changeset: d32213caa34f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d32213caa34f Modified Files: gdk/gdk_logger.c gdk/gdk_select.c gdk/gdk_tm.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_runtime.c monetdb5/modules/mal/remote.c Branch: Jul2021 Log Message:
Use BBP_cache for parent bats and don't load complex atoms if we don't need to. diffs (132 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1408,7 +1408,7 @@ bm_get_counts(logger *lg) lng lid = lng_nil; if (BUNfnd(lg->dcatalog, &pos) == BUN_NONE) { - BAT *b = BBPquickdesc(bids[p], 1); + BAT *b = BBPquickdesc(bids[p], true); cnt = BATcount(b); } else { deleted++; diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -1521,7 +1521,7 @@ BATselect(BAT *b, BAT *s, const void *tl * hash chain (count divided by #slots) times the cost * to do a binary search on the candidate list (or 1 * if no need for search)) */ - tmp = BBPquickdesc(parent, false); + tmp = BBP_cache(parent); if (tmp && BATcheckhash(tmp)) { MT_rwlock_rdlock(&tmp->thashlock); hash = phash = tmp->thash != NULL && @@ -1560,7 +1560,7 @@ BATselect(BAT *b, BAT *s, const void *tl (BATcheckorderidx(b) || (/* DISABLES CODE */ (0) && VIEWtparent(b) && - BATcheckorderidx(BBPquickdesc(VIEWtparent(b), false))))) { + BATcheckorderidx(BBP_cache(VIEWtparent(b)))))) { BAT *view = NULL; if (/* DISABLES CODE */ (0) && VIEWtparent(b) && !BATcheckorderidx(b)) { view = b; @@ -1850,7 +1850,7 @@ BATselect(BAT *b, BAT *s, const void *tl (!b->batTransient || (/* DISABLES CODE */ (0) && parent != 0 && - (tmp = BBPquickdesc(parent, false)) != NULL && + (tmp = BBP_cache(parent)) != NULL && !tmp->batTransient)); bn = scanselect(b, &bi, &ci, bn, tl, th, li, hi, equi, anti, lval, hval, lnil, maximum, use_imprints, &algo); @@ -2035,7 +2035,7 @@ rangejoin(BAT *r1, BAT *r2, BAT *l, BAT } if (!BATordered(l) && !BATordered_rev(l) && - (BATcheckorderidx(l) || (/* DISABLES CODE */ (0) && VIEWtparent(l) && BATcheckorderidx(BBPquickdesc(VIEWtparent(l), false))))) { + (BATcheckorderidx(l) || (/* DISABLES CODE */ (0) && VIEWtparent(l) && BATcheckorderidx(BBP_cache(VIEWtparent(l)))))) { use_orderidx = true; if (/* DISABLES CODE */ (0) && VIEWtparent(l) && !BATcheckorderidx(l)) { l = BBP_cache(VIEWtparent(l)); @@ -2166,7 +2166,7 @@ rangejoin(BAT *r1, BAT *r2, BAT *l, BAT !l->batTransient || (/* DISABLES CODE */ (0) && VIEWtparent(l) != 0 && - (tmp = BBPquickdesc(VIEWtparent(l), false)) != NULL && + (tmp = BBP_cache(VIEWtparent(l))) != NULL && !tmp->batTransient) || BATcheckimprints(l)) && BATimprints(l) == GDK_SUCCEED) { diff --git a/gdk/gdk_tm.c b/gdk/gdk_tm.c --- a/gdk/gdk_tm.c +++ b/gdk/gdk_tm.c @@ -106,7 +106,7 @@ epilogue(int cnt, bat *subcommit) } } if ((BBP_status(bid) & BBPDELETED) && BBP_refs(bid) <= 0 && BBP_lrefs(bid) <= 0) { - BAT *b = BBPquickdesc(bid, true); + BAT *b = BBPquickdesc(bid, false); /* the unloaded ones are deleted without * loading deleted disk images */ diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c --- a/monetdb5/mal/mal_debugger.c +++ b/monetdb5/mal/mal_debugger.c @@ -138,7 +138,7 @@ printStackElm(stream *f, MalBlkPtr mb, V if (v && v->vtype == TYPE_bat) { bat i = v->val.bval; - BAT *b = BBPquickdesc(i, true); + BAT *b = BBPquickdesc(i, false); if (b) { nme = getTypeName(newBatType(b->ttype)); diff --git a/monetdb5/mal/mal_listing.c b/monetdb5/mal/mal_listing.c --- a/monetdb5/mal/mal_listing.c +++ b/monetdb5/mal/mal_listing.c @@ -142,7 +142,7 @@ renderTerm(MalBlkPtr mb, MalStkPtr stk, (isaBatType(getVarType(mb,varid)) && idx < p->retc); if (stk && isaBatType(getVarType(mb,varid)) && stk->stk[varid].val.bval ){ - BAT *d= BBPquickdesc(stk->stk[varid].val.bval, true); + BAT *d= BBPquickdesc(stk->stk[varid].val.bval, false); if( d) len += snprintf(buf+len,maxlen-len,"[" BUNFMT "]", BATcount(d)); } diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -323,7 +323,7 @@ renderProfilerEvent(Client cntxt, MalBlk BAT *v; cnt = BATcount(d); if(isVIEW(d)){ - v= BBPquickdesc(VIEWtparent(d), false); + v= BBP_cache(VIEWtparent(d)); if (!logadd(&logbuf, ",\"view\":\"true\"" ",\"parent\":%d" diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -471,7 +471,7 @@ lng getVolume(MalStkPtr stk, InstrPtr pc if (stk->stk[getArg(pci, i)].vtype == TYPE_bat) { oid cnt = 0; - b = BBPquickdesc(stk->stk[getArg(pci, i)].val.bval, true); + b = BBPquickdesc(stk->stk[getArg(pci, i)].val.bval, false); if (b == NULL) continue; cnt = BATcount(b); diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c --- a/monetdb5/modules/mal/remote.c +++ b/monetdb5/modules/mal/remote.c @@ -1517,7 +1517,7 @@ static str RMTbincopyto(Client cntxt, Ma throw(MAL, "remote.bincopyto", MAL_MALLOC_FAIL); sendtheap = b->ttype != TYPE_void && b->tvarsized; - if (isVIEW(b) && sendtheap && VIEWvtparent(b) && BATcount(b) < BATcount(BBPquickdesc(VIEWvtparent(b), false))) + if (isVIEW(b) && sendtheap && VIEWvtparent(b) && BATcount(b) < BATcount(BBP_cache(VIEWvtparent(b)))) v = COLcopy(b, b->ttype, true, TRANSIENT); mnstr_printf(cntxt->fdout, /*JSON*/"{" _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list