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