Changeset: be7584332785 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/be7584332785
Modified Files:
        gdk/gdk_bbp.c
        gdk/gdk_logger.c
        gdk/gdk_select.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/modules/atoms/json.c
Branch: Jul2021
Log Message:

Merge with Oct2020 branch.


diffs (77 lines):

diff --git a/clients/odbc/ChangeLog.Oct2020 b/clients/odbc/ChangeLog.Oct2020
--- a/clients/odbc/ChangeLog.Oct2020
+++ b/clients/odbc/ChangeLog.Oct2020
@@ -1,3 +1,6 @@
 # ChangeLog file for odbc
 # This file is updated with Maddlog
 
+* Fri May  7 2021 Sjoerd Mullender <sjo...@acm.org>
+- A typo that made the SQLSpecialColumns function unusable was fixed.
+
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2275,7 +2275,12 @@ decref(bat i, bool logical, bool release
        if (lock)
                MT_lock_set(&GDKswapLock(i));
        if (releaseShare) {
-               --BBP_desc(i)->batSharecnt;
+               if (BBP_desc(i)->batSharecnt == 0) {
+                       GDKerror("%s: %s does not have any shares.\n", func, 
BBPname(i));
+                       assert(0);
+               } else {
+                       --BBP_desc(i)->batSharecnt;
+               }
                if (lock)
                        MT_lock_unset(&GDKswapLock(i));
                return refs;
@@ -3012,7 +3017,7 @@ do_backup(const char *srcdir, const char
                /* there is a situation where the move may fail,
                 * namely if this heap was not supposed to be existing
                 * before, i.e. after a BATmaterialize on a persistent
-                * bat as a workaround, do not complain about move
+                * bat; as a workaround, do not complain about move
                 * failure if the source file is nonexistent
                 */
                if (mvret != GDK_SUCCEED && file_exists(h->farmid, srcdir, nme, 
ext)) {
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -42,6 +42,8 @@ virtualize(BAT *bn)
               (((bn->ttype == TYPE_void && !is_oid_nil(bn->tseqbase)) ||
                 bn->ttype == TYPE_oid) &&
                bn->tkey && bn->tsorted));
+       assert(BBP_refs(bn->batCacheid) == 1);
+       assert(BBP_lrefs(bn->batCacheid) == 0);
        /* since bn has unique and strictly ascending values, we can
         * easily check whether the column is dense */
        if (bn && bn->ttype == TYPE_oid &&
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
@@ -766,10 +766,7 @@ str runMALsequence(Client cntxt, MalBlkP
                                }
                                if (ret == MAL_SUCCEED && ii == pci->argc) {
                                        ret = runMALsequence(cntxt, pci->blk, 
1, pci->blk->stop, nstk, stk, pci);
-                                       //garbageCollector(cntxt, pci->blk, 
nstk, 0);
-                                       for (ii = 0; ii < nstk->stktop; ii++)
-                                               if 
(ATOMextern(nstk->stk[ii].vtype))
-                                                       
GDKfree(nstk->stk[ii].val.pval);
+                                       garbageCollector(cntxt, pci->blk, nstk, 
0);
                                        arg = q->retc;
                                        for (ii = pci->retc; ii < pci->argc; 
ii++,arg++) {
                                                lhs = &nstk->stk[q->argv[arg]];
diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c
--- a/monetdb5/modules/atoms/json.c
+++ b/monetdb5/modules/atoms/json.c
@@ -982,6 +982,10 @@ JSONtoken(JSON *jt, const char *j, const
 
        if (jt->error)
                return idx;
+       if (THRhighwater()) {
+               jt->error = createException(MAL, "json.parser", "expression too 
complex to parse");
+               return idx;
+       }
        skipblancs(j);
        switch (*j) {
        case '{':
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to