Changeset: f8bfd615ce50 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f8bfd615ce50
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk.h
        gdk/gdk_bbp.c
        gdk/gdk_logger.c
        gdk/gdk_tm.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_runtime.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/kernel/batmmath.c
        monetdb5/modules/kernel/status.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/wlc.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_subquery.c
        sql/storage/bat/bat_utils.c
Branch: Jul2021
Log Message:

Remove second argument from BBPquickdesc.


diffs (truncated from 393 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -215,7 +215,7 @@ bat BBPindex(const char *nme);
 void BBPkeepref(bat i);
 bat BBPlimit;
 void BBPlock(void);
-BAT *BBPquickdesc(bat b, bool delaccess);
+BAT *BBPquickdesc(bat b);
 int BBPreclaim(BAT *b);
 int BBPrelease(bat b);
 int BBPrename(bat bid, const char *nme);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1577,7 +1577,7 @@ gdk_export void BBPlock(void);
 
 gdk_export void BBPunlock(void);
 
-gdk_export BAT *BBPquickdesc(bat b, bool delaccess);
+gdk_export BAT *BBPquickdesc(bat b);
 
 /*
  * @- GDK error handling
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2737,24 +2737,10 @@ BBPfree(BAT *b)
  * this costs performance, and because getting into memory shortage
  * during a commit is extremely dangerous. Loading a BAT tends not to
  * be required, since the commit actions mostly involve moving some
- * pointers in the BAT descriptor. However, some column types do
- * require loading the full bat. This is tested by the complexatom()
- * routine. Such columns are those of which the type has a fix/unfix
- * method, or those that have HeapDelete methods. The HeapDelete
- * actions are not always required and therefore the BBPquickdesc is
- * parametrized.
+ * pointers in the BAT descriptor.
  */
-static bool
-complexatom(int t, bool delaccess)
-{
-       if (t >= 0 && (BATatoms[t].atomFix || (delaccess && 
BATatoms[t].atomDel))) {
-               return true;
-       }
-       return false;
-}
-
 BAT *
-BBPquickdesc(bat bid, bool delaccess)
+BBPquickdesc(bat bid)
 {
        BAT *b;
 
@@ -2767,11 +2753,7 @@ BBPquickdesc(bat bid, bool delaccess)
        }
        if ((b = BBP_cache(bid)) != NULL)
                return b;       /* already cached */
-       b = BBP_desc(bid);
-       if (complexatom(b->ttype, delaccess)) {
-               b = BATload_intern(bid, true);
-       }
-       return b;
+       return BBP_desc(bid);
 }
 
 /*
@@ -2792,7 +2774,7 @@ dirty_bat(bat *i, bool subcommit)
                            (subcommit || BATdirty(b)))
                                return b;       /* the bat is loaded, 
persistent and dirty */
                } else if (BBP_status(*i) & BBPSWAPPED) {
-                       b = (BAT *) BBPquickdesc(*i, true);
+                       b = (BAT *) BBPquickdesc(*i);
                        if (b && (subcommit || b->batDirtydesc))
                                return b;       /* only the desc is loaded & 
dirty */
                }
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], true);
+                       BAT *b = BBPquickdesc(bids[p]);
                        cnt = BATcount(b);
                } else {
                        deleted++;
@@ -2529,7 +2529,7 @@ log_bat_transient(logger *lg, log_id id)
        if (lg->debug & 1)
                fprintf(stderr, "#Logged destroyed bat (%d) %d\n", id,
                                bid);
-       lg->end += BATcount(BBPquickdesc(bid, true));
+       lg->end += BATcount(BBPquickdesc(bid));
        gdk_return r =  logger_del_bat(lg, bid);
        logger_unlock(lg);
        return r;
diff --git a/gdk/gdk_tm.c b/gdk/gdk_tm.c
--- a/gdk/gdk_tm.c
+++ b/gdk/gdk_tm.c
@@ -58,7 +58,7 @@ prelude(int cnt, bat *restrict subcommit
                        BAT *b = BBP_cache(bid);
 
                        if (b == NULL && (BBP_status(bid) & BBPSWAPPED)) {
-                               b = BBPquickdesc(bid, true);
+                               b = BBPquickdesc(bid);
                                if (b == NULL)
                                        return GDK_FAIL;
                        }
@@ -106,18 +106,12 @@ epilogue(int cnt, bat *subcommit)
                        }
                }
                if ((BBP_status(bid) & BBPDELETED) && BBP_refs(bid) <= 0 && 
BBP_lrefs(bid) <= 0) {
-                       BAT *b = BBPquickdesc(bid, false);
+                       BAT *b = BBPquickdesc(bid);
 
                        /* the unloaded ones are deleted without
                         * loading deleted disk images */
                        if (b) {
                                BATdelete(b);
-                               if (BBP_cache(bid)) {
-                                       /* those that quickdesc
-                                        * decides to load => free
-                                        * memory */
-                                       BATfree(b);
-                               }
                        }
                        BBPclear(bid);  /* clear with locking */
                }
@@ -260,7 +254,7 @@ TMabort(void)
        BBPlock();
        for (i = 1; i < getBBPsize(); i++) {
                if (BBP_status(i) & BBPNEW) {
-                       BAT *b = BBPquickdesc(i, false);
+                       BAT *b = BBPquickdesc(i);
 
                        if (b) {
                                if (!b->batTransient)
@@ -272,7 +266,7 @@ TMabort(void)
        }
        for (i = 1; i < getBBPsize(); i++) {
                if (BBP_status(i) & (BBPPERSISTENT | BBPDELETED | BBPSWAPPED)) {
-                       BAT *b = BBPquickdesc(i, true);
+                       BAT *b = BBPquickdesc(i);
 
                        if (b == NULL)
                                continue;
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, false);
+               BAT *b = BBPquickdesc(i);
 
                if (b) {
                        nme = getTypeName(newBatType(b->ttype));
diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c
--- a/monetdb5/mal/mal_interpreter.c
+++ b/monetdb5/mal/mal_interpreter.c
@@ -849,7 +849,7 @@ str runMALsequence(Client cntxt, MalBlkP
                                        if (garbage[i] == -1 && 
stk->stk[getArg(pci, i)].vtype == TYPE_bat &&
                                                
!is_bat_nil(stk->stk[getArg(pci, i)].val.bval)) {
                                                assert(stk->stk[getArg(pci, 
i)].val.bval > 0);
-                                               b = 
BBPquickdesc(stk->stk[getArg(pci, i)].val.bval, false);
+                                               b = 
BBPquickdesc(stk->stk[getArg(pci, i)].val.bval);
                                                if (b == NULL) {
                                                        if (ret == MAL_SUCCEED)
                                                                ret = 
createException(MAL, "mal.propertyCheck", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
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, 
false);
+                               BAT *d= BBPquickdesc(stk->stk[varid].val.bval);
                                if( d)
                                        len += snprintf(buf+len,maxlen-len,"[" 
BUNFMT "]", BATcount(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
@@ -473,7 +473,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, 
false);
+                       b = BBPquickdesc(stk->stk[getArg(pci, i)].val.bval);
                        if (b == NULL)
                                continue;
                        cnt = BATcount(b);
diff --git a/monetdb5/modules/atoms/uuid.c b/monetdb5/modules/atoms/uuid.c
--- a/monetdb5/modules/atoms/uuid.c
+++ b/monetdb5/modules/atoms/uuid.c
@@ -95,7 +95,7 @@ UUIDgenerateUuidInt_bulk(bat *ret, const
        str msg = MAL_SUCCEED;
        uuid *restrict bnt = NULL;
 
-       if ((b = BBPquickdesc(*bid, false)) == NULL)    {
+       if ((b = BBPquickdesc(*bid)) == NULL)   {
                msg = createException(MAL, "uuid.generateuuidint_bulk", 
SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
                goto bailout;
        }
diff --git a/monetdb5/modules/kernel/algebra.c 
b/monetdb5/modules/kernel/algebra.c
--- a/monetdb5/modules/kernel/algebra.c
+++ b/monetdb5/modules/kernel/algebra.c
@@ -793,9 +793,9 @@ ALGcrossproduct(bat *l, bat *r, const ba
        BAT *sl = NULL, *sr = NULL;
        gdk_return ret;
 
-       if ((L = BBPquickdesc(*left, false)) == NULL)
+       if ((L = BBPquickdesc(*left)) == NULL)
                throw(MAL, "algebra.crossproduct", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
-       if ((R = BBPquickdesc(*right, false)) == NULL)
+       if ((R = BBPquickdesc(*right)) == NULL)
                throw(MAL, "algebra.crossproduct", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
        if (slid && !is_bat_nil(*slid) && (sl = BATdescriptor(*slid)) == NULL)
                throw(MAL, "algebra.crossproduct", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
@@ -975,7 +975,7 @@ ALGcountCND_nil(lng *result, const bat *
        BAT *b = NULL, *s = NULL;
        bool heap_loaded = false;
 
-       if (!(b = BBPquickdesc(*bid, false))) {
+       if (!(b = BBPquickdesc(*bid))) {
                msg = createException(MAL, "aggr.count", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
                goto bailout;
        }
@@ -1247,7 +1247,7 @@ ALGprojecttail(Client cntxt, MalBlkPtr m
        (void) mb;
        if( isaBatType(getArgType(mb,pci,2)) )
                throw(MAL,"algebra.project","Scalar value expected");
-       if ((b = BBPquickdesc(bid, false)) == NULL)
+       if ((b = BBPquickdesc(bid)) == NULL)
                throw(MAL, "algebra.project", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
        bn = BATconstant(b->hseqbase, v->vtype, VALptr(v), BATcount(b), 
TRANSIENT);
        if (bn == NULL) {
diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -109,7 +109,7 @@ BKCmirror(bat *ret, const bat *bid)
        BAT *b, *bn;
 
        *ret = 0;
-       if (!(b = BBPquickdesc(*bid, false)))
+       if (!(b = BBPquickdesc(*bid)))
                throw(MAL, "bat.mirror", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
        if (!(bn = BATdense(b->hseqbase, b->hseqbase, BATcount(b))))
                throw(MAL, "bat.mirror", GDK_EXCEPTION);
@@ -345,7 +345,7 @@ static str
 BKCgetCapacity(lng *res, const bat *bid)
 {
        *res = lng_nil;
-       BAT *b = BBPquickdesc(*bid, false);
+       BAT *b = BBPquickdesc(*bid);
 
        if (b == NULL)
                throw(MAL, "bat.getCapacity", ILLEGAL_ARGUMENT);
@@ -357,7 +357,7 @@ static str
 BKCgetColumnType(str *res, const bat *bid)
 {
        const char *ret = str_nil;
-       BAT *b = BBPquickdesc(*bid, false);
+       BAT *b = BBPquickdesc(*bid);
 
        if (b == NULL)
                throw(MAL, "bat.getColumnType", ILLEGAL_ARGUMENT);
diff --git a/monetdb5/modules/kernel/batmmath.c 
b/monetdb5/modules/kernel/batmmath.c
--- a/monetdb5/modules/kernel/batmmath.c
+++ b/monetdb5/modules/kernel/batmmath.c
@@ -388,7 +388,7 @@ CMDscience_bat_randintarg(Client cntxt, 
 
        (void) cntxt;
        (void) mb;
-       if (!(b = BBPquickdesc(*bid, false))) {
+       if (!(b = BBPquickdesc(*bid))) {
                msg = createException(MAL, "batmmath.rand", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
                goto bailout;
        }
diff --git a/monetdb5/modules/kernel/status.c b/monetdb5/modules/kernel/status.c
--- a/monetdb5/modules/kernel/status.c
+++ b/monetdb5/modules/kernel/status.c
@@ -265,7 +265,7 @@ SYSmem_usage(bat *ret, bat *ret2, const 
        }
        BBPlock();
        for (i = 1; i < getBBPsize(); i++) {
-               BAT *c = BBPquickdesc(i, false);
+               BAT *c = BBPquickdesc(i);
                str s;
 
                if( c == NULL  || !BBPvalid(i))
diff --git a/monetdb5/modules/mal/mat.c b/monetdb5/modules/mal/mat.c
--- a/monetdb5/modules/mal/mat.c
+++ b/monetdb5/modules/mal/mat.c
@@ -54,7 +54,7 @@ MATpackInternal(Client cntxt, MalBlkPtr 
 
        for (i = 1; i < p->argc; i++) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to