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

Reply via email to