Changeset: e77bac9062d2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e77bac9062d2 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_batop.c gdk/gdk_bbp.c monetdb5/modules/mal/mal_io.c sql/backends/monet5/sql.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_upgrades.c tools/monetdbe/monetdbe.c Branch: default Log Message:
Merged with Jul2021 diffs (truncated from 5245 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -9171,6 +9171,7 @@ stdout of test 'MAL-signatures` in direc [ "rapi", "eval_aggr", "pattern rapi.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any... ", "RAPIevalAggr;", "" ] [ "rapi", "prelude", "command rapi.prelude():void ", "RAPIprelude;", "" ] [ "rapi", "subeval_aggr", "pattern rapi.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any... ", "RAPIevalAggr;", "" ] +[ "remote", "assert", "pattern remote.assert(X_0:bit, X_1:str):void ", "RMTassert;", "" ] [ "remote", "batbincopy", "pattern remote.batbincopy():bat[:any] ", "RMTbincopyfrom;", "" ] [ "remote", "batbincopy", "pattern remote.batbincopy(X_0:bat[:any]):void ", "RMTbincopyto;", "" ] [ "remote", "batload", "pattern remote.batload(X_0:any_1, X_1:int):bat[:any_1] ", "RMTbatload;", "" ] @@ -9272,6 +9273,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "deltas", "pattern sql.deltas(X_0:str, X_1:str) (X_2:bat[:int], X_3:bat[:lng], X_4:bat[:lng], X_5:bat[:lng], X_6:bat[:lng], X_7:bat[:lng], X_8:bat[:int]) ", "mvc_delta_values;", "" ] [ "sql", "deltas", "pattern sql.deltas(X_0:str, X_1:str, X_2:str) (X_3:bat[:int], X_4:bat[:lng], X_5:bat[:lng], X_6:bat[:lng], X_7:bat[:lng], X_8:bat[:lng], X_9:bat[:int]) ", "mvc_delta_values;", "" ] [ "sql", "dense_rank", "pattern sql.dense_rank(X_0:any_1, X_1:bit, X_2:bit):int ", "SQLdense_rank;", "" ] +[ "sql", "deregister", "pattern sql.deregister():int ", "RAstatementEnd;", "" ] [ "sql", "diff", "pattern sql.diff(X_0:any_1):bit ", "SQLdiff;", "" ] [ "sql", "diff", "pattern sql.diff(X_0:bit, X_1:any_1):bit ", "SQLdiff;", "" ] [ "sql", "drop_hash", "unsafe pattern sql.drop_hash(X_0:str, X_1:str):void ", "SQLdrop_hash;", "" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -12472,6 +12472,7 @@ stdout of test 'MAL-signatures` in direc [ "rapi", "eval_aggr", "pattern rapi.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any... ", "RAPIevalAggr;", "" ] [ "rapi", "prelude", "command rapi.prelude():void ", "RAPIprelude;", "" ] [ "rapi", "subeval_aggr", "pattern rapi.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any... ", "RAPIevalAggr;", "" ] +[ "remote", "assert", "pattern remote.assert(X_0:bit, X_1:str):void ", "RMTassert;", "" ] [ "remote", "batbincopy", "pattern remote.batbincopy():bat[:any] ", "RMTbincopyfrom;", "" ] [ "remote", "batbincopy", "pattern remote.batbincopy(X_0:bat[:any]):void ", "RMTbincopyto;", "" ] [ "remote", "batload", "pattern remote.batload(X_0:any_1, X_1:int):bat[:any_1] ", "RMTbatload;", "" ] @@ -12578,6 +12579,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "deltas", "pattern sql.deltas(X_0:str, X_1:str) (X_2:bat[:int], X_3:bat[:lng], X_4:bat[:lng], X_5:bat[:lng], X_6:bat[:lng], X_7:bat[:lng], X_8:bat[:int]) ", "mvc_delta_values;", "" ] [ "sql", "deltas", "pattern sql.deltas(X_0:str, X_1:str, X_2:str) (X_3:bat[:int], X_4:bat[:lng], X_5:bat[:lng], X_6:bat[:lng], X_7:bat[:lng], X_8:bat[:lng], X_9:bat[:int]) ", "mvc_delta_values;", "" ] [ "sql", "dense_rank", "pattern sql.dense_rank(X_0:any_1, X_1:bit, X_2:bit):int ", "SQLdense_rank;", "" ] +[ "sql", "deregister", "pattern sql.deregister():int ", "RAstatementEnd;", "" ] [ "sql", "diff", "pattern sql.diff(X_0:any_1):bit ", "SQLdiff;", "" ] [ "sql", "diff", "pattern sql.diff(X_0:bit, X_1:any_1):bit ", "SQLdiff;", "" ] [ "sql", "drop_hash", "unsafe pattern sql.drop_hash(X_0:str, X_1:str):void ", "SQLdrop_hash;", "" ] 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 @@ -940,6 +940,7 @@ const char *deleteRef; void deleteSymbol(Module scope, Symbol prg); const char *deltaRef; const char *dense_rankRef; +const char *deregisterRef; malType destinationType(MalBlkPtr mb, InstrPtr p); const char *diffRef; const char *diffcandRef; diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1559,10 +1559,10 @@ gdk_export BBPrec *BBP[N_BBPINIT]; #define BBPvalid(i) (BBP_logical(i) != NULL && *BBP_logical(i) != '.') /* macros that nicely check parameters */ -#define BBPstatus(i) (BBPcheck((i),"BBPstatus")?BBP_status(i):0) -#define BBPrefs(i) (BBPcheck((i),"BBPrefs")?BBP_refs(i):-1) -#define BBPcache(i) (BBPcheck((i),"BBPcache")?BBP_cache(i):(BAT*) NULL) -#define BBPname(i) (BBPcheck((i), "BBPname") ? BBP_logical(i) : "") +#define BBPstatus(i) (BBPcheck(i) ? BBP_status(i) : 0) +#define BBPrefs(i) (BBPcheck(i) ? BBP_refs(i) : -1) +#define BBPcache(i) (BBPcheck(i) ? BBP_cache(i) : (BAT*) NULL) +#define BBPname(i) (BBPcheck(i) ? BBP_logical(i) : "") #define BBPRENAME_ALREADY (-1) #define BBPRENAME_ILLEGAL (-2) @@ -1966,13 +1966,13 @@ gdk_export void *THRdata[THREADDATA]; #define THRset_errbuf(t,b) (t->data[2] = b) static inline bat -BBPcheck(bat x, const char *y) +BBPcheck(bat x) { if (!is_bat_nil(x)) { assert(x > 0); if (x < 0 || x >= getBBPsize() || BBP_logical(x) == NULL) { - TRC_DEBUG(CHECK_, "%s: range error %d\n", y, (int) x); + TRC_DEBUG(CHECK_, "range error %d\n", (int) x); } else { return x; } @@ -1985,7 +1985,7 @@ BATdescriptor(bat i) { BAT *b = NULL; - if (BBPcheck(i, "BATdescriptor")) { + if (BBPcheck(i)) { if (BBPfix(i) <= 0) return NULL; b = BBP_cache(i); diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -595,7 +595,7 @@ batToStr(char **dst, size_t *len, const size_t i; str s; - if (is_bat_nil(b) || (s = BBPname(b)) == NULL || *s == 0) { + if (is_bat_nil(b) || !BBPcheck(b) || (s = BBP_logical(b)) == NULL || *s == 0) { atommem(4); if (external) { strcpy(*dst, "nil"); diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1639,8 +1639,8 @@ BATappend_or_update(BAT *b, BAT *p, cons } bat_iterator_end(&ni); TRC_DEBUG(ALGO, - "BATreplace(" ALGOBATFMT "," ALGOBATFMT "," ALGOBATFMT ") " LLFMT " usec\n", - ALGOBATPAR(b), ALGOBATPAR(p), ALGOBATPAR(n), + "BATreplace(" ALGOBATFMT "," ALGOOPTBATFMT "," ALGOBATFMT ") " LLFMT " usec\n", + ALGOBATPAR(b), ALGOOPTBATPAR(p), ALGOBATPAR(n), GDKusec() - t0); return GDK_SUCCEED; } diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -1849,12 +1849,11 @@ BBPdir_init(void) void BBPdump(void) { - bat i; size_t mem = 0, vm = 0; size_t cmem = 0, cvm = 0; int n = 0, nc = 0; - for (i = 0; i < (bat) ATOMIC_GET(&BBPsize); i++) { + for (bat i = 0; i < (bat) ATOMIC_GET(&BBPsize); i++) { if (BBP_refs(i) == 0 && BBP_lrefs(i) == 0) continue; BAT *b = BBP_desc(i); @@ -1869,6 +1868,10 @@ BBPdump(void) BBP_lrefs(i), status, BBP_cache(i) ? "" : " not cached"); + if (b == NULL) { + fprintf(stderr, ", no descriptor\n"); + continue; + } if (b->batSharecnt > 0) fprintf(stderr, " shares=%d", b->batSharecnt); if (b->batDirtydesc) @@ -2167,7 +2170,7 @@ BBPinsert(BAT *bn) if (len == -1 || len >= FILENAME_MAX) return 0; - TRC_DEBUG(BAT_, "%d = new %s(%s)\n", (int) i, BBPname(i), ATOMname(bn->ttype)); + TRC_DEBUG(BAT_, "%d = new %s(%s)\n", (int) i, BBP_logical(i), ATOMname(bn->ttype)); } return i; @@ -2220,14 +2223,14 @@ BBPuncacheit(bat i, bool unloaddesc) { if (i < 0) i = -i; - if (BBPcheck(i, "BBPuncacheit")) { + if (BBPcheck(i)) { BAT *b = BBP_desc(i); assert(unloaddesc || BBP_refs(i) == 0); if (b) { if (BBP_cache(i)) { - TRC_DEBUG(BAT_, "uncache %d (%s)\n", (int) i, BBPname(i)); + TRC_DEBUG(BAT_, "uncache %d (%s)\n", (int) i, BBP_logical(i)); BBP_cache(i) = NULL; @@ -2249,7 +2252,7 @@ BBPuncacheit(bat i, bool unloaddesc) static inline void bbpclear(bat i, int idx, bool lock) { - TRC_DEBUG(BAT_, "clear %d (%s)\n", (int) i, BBPname(i)); + TRC_DEBUG(BAT_, "clear %d (%s)\n", (int) i, BBP_logical(i)); BBPuncacheit(i, true); TRC_DEBUG(BAT_, "set to unloading %d\n", i); BBP_status_set(i, BBPUNLOADING); @@ -2279,7 +2282,7 @@ BBPclear(bat i) MT_Id pid = MT_getpid(); bool lock = locked_by == 0 || locked_by != pid; - if (BBPcheck(i, "BBPclear")) { + if (BBPcheck(i)) { bbpclear(i, threadmask(pid), lock); } } @@ -2397,7 +2400,7 @@ BBPrename(bat bid, const char *nme) static inline void BBPspin(bat i, const char *s, unsigned event) { - if (BBPcheck(i, "BBPspin") && (BBP_status(i) & event)) { + if (BBPcheck(i) && (BBP_status(i) & event)) { lng spin = LL_CONSTANT(0); do { @@ -2435,7 +2438,7 @@ incref(bat i, bool logical, bool lock) BAT *b, *pb = NULL, *pvb = NULL; bool load = false; - if (!BBPcheck(i, logical ? "BBPretain" : "BBPfix")) + if (!BBPcheck(i)) return 0; /* Before we get the lock and before we do all sorts of @@ -2576,7 +2579,7 @@ decref(bat i, bool logical, bool release MT_lock_set(&GDKswapLock(i)); if (releaseShare) { if (BBP_desc(i)->batSharecnt == 0) { - GDKerror("%s: %s does not have any shares.\n", func, BBPname(i)); + GDKerror("%s: %s does not have any shares.\n", func, BBP_logical(i)); assert(0); } else { --BBP_desc(i)->batSharecnt; @@ -2599,14 +2602,14 @@ decref(bat i, bool logical, bool release /* decrement references by one */ if (logical) { if (BBP_lrefs(i) == 0) { - GDKerror("%s: %s does not have logical references.\n", func, BBPname(i)); + GDKerror("%s: %s does not have logical references.\n", func, BBP_logical(i)); assert(0); } else { refs = --BBP_lrefs(i); } } else { if (BBP_refs(i) == 0) { - GDKerror("%s: %s does not have pointer fixes.\n", func, BBPname(i)); + GDKerror("%s: %s does not have pointer fixes.\n", func, BBP_logical(i)); assert(0); } else { assert(b == NULL || b->theap == NULL || BBP_refs(b->theap->parentid) > 0); @@ -2638,8 +2641,7 @@ decref(bat i, bool logical, bool release (BBP_lrefs(i) > 0 && (b == NULL || BATdirty(b) || - (BBP_status(i) & BBPHOT) || - (BBP_status(i) & BBPSYNCING) || + (BBP_status(i) & (BBPHOT | BBPSYNCING)) || !(BBP_status(i) & BBPPERSISTENT) || GDKinmemory(b->theap->farmid)))) { /* bat cannot be swapped out */ @@ -2681,7 +2683,7 @@ decref(bat i, bool logical, bool release int BBPunfix(bat i) { - if (BBPcheck(i, "BBPunfix") == 0) { + if (BBPcheck(i) == 0) { return -1; } return decref(i, false, false, true, "BBPunfix"); @@ -2690,7 +2692,7 @@ BBPunfix(bat i) int BBPrelease(bat i) { - if (BBPcheck(i, "BBPrelease") == 0) { + if (BBPcheck(i) == 0) { return -1; } return decref(i, true, false, true, "BBPrelease"); @@ -2706,9 +2708,7 @@ BBPrelease(bat i) void BBPkeepref(bat i) { - if (is_bat_nil(i)) - return; - if (BBPcheck(i, "BBPkeepref")) { + if (BBPcheck(i)) { bool lock = locked_by == 0 || locked_by != MT_getpid(); BAT *b; @@ -2774,7 +2774,7 @@ getBBPdescriptor(bat i, bool lock) BAT *b = NULL; assert(i > 0); - if (!BBPcheck(i, "BBPdescriptor")) { + if (!BBPcheck(i)) { GDKerror("BBPcheck failed for bat id %d\n", i); return NULL; } @@ -2802,7 +2802,7 @@ getBBPdescriptor(bat i, bool lock) if (lock) MT_lock_unset(&GDKswapLock(i)); if (load) { - TRC_DEBUG(IO_, "load %s\n", BBPname(i)); + TRC_DEBUG(IO_, "load %s\n", BBP_logical(i)); b = BATload_intern(i, lock); @@ -2977,11 +2977,11 @@ BBPquickdesc(bat bid, bool delaccess) { BAT *b; - if (is_bat_nil(bid)) - return NULL; - if (bid < 0) { - GDKerror("called with negative batid.\n"); - assert(0); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list