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