Changeset: f30ac90a9d91 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f30ac90a9d91
Modified Files:
        clients/mapiclient/mclient.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_logger.c
        monetdb5/mal/mal_session.c
        monetdb5/optimizer/opt_pipes.c
        sql/backends/monet5/UDF/capi/capi.c
        sql/storage/store.c
        sql/test/Tests/setoptimizer.test
Branch: default
Log Message:

Merge with Sep2022 branch.


diffs (193 lines):

diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -2859,7 +2859,8 @@ doFile(Mapi mid, stream *fp, bool useins
                                                }
                                        } else {
                                                setFormatter(line);
-                                               mapi_set_size_header(mid, 
strcmp(line, "raw") == 0);
+                                               if (mode == SQL)
+                                                       
mapi_set_size_header(mid, strcmp(line, "raw") == 0);
                                        }
                                        continue;
                                case 't':
@@ -3543,6 +3544,19 @@ main(int argc, char **argv)
        mapi_setAutocommit(mid, autocommit);
        if (mode == SQL && !settz)
                mapi_set_time_zone(mid, 0);
+       if (output) {
+               setFormatter(output);
+               if (mode == SQL)
+                       mapi_set_size_header(mid, strcmp(output, "raw") == 0);
+               free(output);
+       } else {
+               if (mode == SQL) {
+                       setFormatter("sql");
+                       mapi_set_size_header(mid, false);
+               } else {
+                       setFormatter("raw");
+               }
+       }
 
        if (mapi_error(mid) == MOK)
                mapi_reconnect(mid);    /* actually, initial connect */
@@ -3571,18 +3585,6 @@ main(int argc, char **argv)
                mapi_log(mid, logfile);
 
        mapi_trace(mid, trace);
-       if (output) {
-               setFormatter(output);
-               mapi_set_size_header(mid, strcmp(output, "raw") == 0);
-               free(output);
-       } else {
-               if (mode == SQL) {
-                       setFormatter("sql");
-               } else {
-                       setFormatter("raw");
-                       mapi_set_size_header(mid, true);
-               }
-       }
        /* give the user a welcome message with some general info */
        if (!has_fileargs && command == NULL && isatty(fileno(stdin))) {
                char *lang;
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -683,7 +683,7 @@ BATappend2(BAT *b, BAT *n, BAT *s, bool 
        ALIGNapp(b, force, GDK_FAIL);
 
        if (ATOMstorage(ATOMtype(b->ttype)) != ATOMstorage(ATOMtype(n->ttype))) 
{
-               GDKerror("Incompatible operands.\n");
+               GDKerror("Incompatible operands ("ALGOBATFMT" vs. 
"ALGOBATFMT").\n", ALGOBATPAR(b), ALGOBATPAR(n));
                return GDK_FAIL;
        }
 
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1506,6 +1506,8 @@ BBPtrim(bool aggressive)
        if (!aggressive)
                flag |= BBPHOT;
        for (bat bid = 1, nbat = (bat) ATOMIC_GET(&BBPsize); bid < nbat; bid++) 
{
+               /* don't do this during a (sub)commit */
+               MT_lock_set(&GDKtmLock);
                MT_lock_set(&GDKswapLock(bid));
                BAT *b = NULL;
                bool swap = false;
@@ -1531,6 +1533,7 @@ BBPtrim(bool aggressive)
                                GDKerror("unload failed for bat %d", bid);
                        n++;
                }
+               MT_lock_unset(&GDKtmLock);
        }
        TRC_DEBUG(BAT_, "unloaded %d bats%s\n", n, aggressive ? " (also hot)" : 
"");
 }
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -755,8 +755,9 @@ la_bat_destroy(logger *lg, logaction *la
        if (bid < 0)
                return GDK_FAIL;
        if (!bid) {
-               GDKerror("la_bat_destroy failed to find bid for object %d\n", 
la->cid);
-               return GDK_FAIL;
+               GDKerror("la_bat_destroy failed to find bid for object %d 
(issue ignored)\n", la->cid);
+               GDKclrerr();
+               return GDK_SUCCEED;
        }
        if (bid && log_del_bat(lg, bid) != GDK_SUCCEED)
                return GDK_FAIL;
diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c
--- a/monetdb5/mal/mal_session.c
+++ b/monetdb5/mal/mal_session.c
@@ -368,7 +368,10 @@ MSscheduleClient(str command, str challe
                        mnstr_printf(c->fdout, "!%s\n", s);
                        mnstr_flush(c->fdout, MNSTR_FLUSH_DATA);
                        GDKfree(s);
+                       exit_streams(fin, fout);
+                       GDKfree(command);
                        MCcloseClient(c);
+                       return;
                }
                if (!GDKgetenv_isyes(mal_enableflag) &&
                                (strncasecmp("sql", lang, 3) != 0 && uid != 0)) 
{
diff --git a/sql/backends/monet5/UDF/capi/capi.c 
b/sql/backends/monet5/UDF/capi/capi.c
--- a/sql/backends/monet5/UDF/capi/capi.c
+++ b/sql/backends/monet5/UDF/capi/capi.c
@@ -220,7 +220,9 @@ static void *wrapped_GDK_zalloc_nojump(s
        if (!ptr) {
                return NULL;
        }
-       return add_allocated_region(ptr);
+       /*return add_allocated_region(ptr); we GDKfree this already in the 
CUDFeval, so no need to keep it in the
+        * allocated_regions */
+       return ptr;
 }
 
 #define GENERATE_NUMERIC_IS_NULL(type, tpename) \
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3700,14 +3700,14 @@ sql_trans_rollback(sql_trans *tr, bool c
                tr->changes = NULL;
                tr->logchanges = 0;
        } else {
-               if (!commit_lock)
-                       MT_lock_set(&store->commit);
-               store_lock(store);
-               ulng oldest = store_oldest(store, tr);
-               store_pending_changes(store, oldest, tr);
-               store_unlock(store);
-               if (!commit_lock)
-                       MT_lock_unset(&store->commit);
+               if (commit_lock || MT_lock_try(&store->commit)) {
+                       store_lock(store);
+                       ulng oldest = store_oldest(store, tr);
+                       store_pending_changes(store, oldest, tr);
+                       store_unlock(store);
+                       if (!commit_lock)
+                               MT_lock_unset(&store->commit);
+               }
        }
 
        if (!list_empty(tr->predicates)) {
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2253,31 +2253,31 @@ def RunTest(env, TST, COND, oktests, len
         ##if [ -f .all.left-over.tmp.bats. ] ; then  mv -f 
.all.left-over.tmp.bats. $TSTTRGBASE/Tests/.old.left-over.tmp.bats. ; fi
 
         if tres == 'socket':
-            if verbosity == 0:
+            if verbosity == 0 and not produce_html:
                 print("\n%s : Socket!" % TST)
             elif verbosity > 1:
                 print("(Socket!) ", end='')
 
         if tres == 'timeout':
-            if verbosity == 0:
+            if verbosity == 0 and not produce_html:
                 print("\n%s : Timeout!" % TST)
             elif verbosity > 1:
                 print("(Timeout!) ", end='')
 
         if tres == 'recursion':
-            if verbosity == 0:
+            if verbosity == 0 and not produce_html:
                 print("\n%s : Recursion!" % TST)
             elif verbosity > 1:
                 print("(Recursion!) ", end='')
 
         if tres == 'segfault':
-            if verbosity == 0:
+            if verbosity == 0 and not produce_html:
                 print("\n%s : Crashed!" % TST)
             elif verbosity > 1:
                 print("(Crashed!) ", end='')
 
         if tres == 'signal':
-            if verbosity == 0:
+            if verbosity == 0 and not produce_html:
                 print("\n%s : Signaled!" % TST)
             elif verbosity > 1:
                 print("(Signaled!) ", end='')
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to