Changeset: 54ce0f451386 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54ce0f451386 Modified Files: gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_private.h monetdb5/mal/mal_instruction.c monetdb5/mal/mal_scenario.c sql/backends/monet5/CMakeLists.txt tools/mserver/mserver5.c Branch: default Log Message:
Merge with Oct2020 branch. diffs (truncated from 346 to 300 lines): diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -141,7 +141,7 @@ VIEWcreate(oid seq, BAT *b) GDKfree(bn); return NULL; } - TRC_DEBUG(ALGO, "VIEWcreate(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; } diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -842,7 +842,7 @@ COLcopy(BAT *b, int tt, bool writable, r } if (!writable) bn->batRestricted = BAT_READ; - TRC_DEBUG(ALGO, "COLcopy(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; bunins_failed: diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1817,11 +1817,11 @@ BATsort(BAT **sorted, BAT **order, BAT * } *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- trivial (" LLFMT + ALGOOPTBATFMT " -- trivial (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -1904,11 +1904,11 @@ BATsort(BAT **sorted, BAT **order, BAT * BBPunfix(on->batCacheid); on = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- orderidx (" LLFMT + ALGOOPTBATFMT " -- orderidx (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -2006,12 +2006,12 @@ BATsort(BAT **sorted, BAT **order, BAT * goto error; *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOBATFMT ",reverse=%d,nilslast=%d,stable=%d" ") = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," ALGOOPTBATFMT - ") -- key group (" LLFMT " usec)\n", + " -- key group (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), @@ -2128,10 +2128,10 @@ BATsort(BAT **sorted, BAT **order, BAT * bn = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" ALGOOPTBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d," "stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- %ssort (" LLFMT " usec)\n", + ALGOOPTBATFMT " -- %ssort (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), ALGOOPTBATPAR(gn), ALGOOPTBATPAR(on), diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -265,8 +265,8 @@ BAT *virtualize(BAT *bn) BATcount(b), \ b->hseqbase, \ ATOMname(b->ttype), \ - !b->batTransient ? "P" : isVIEW(b) ? "V" : "T", \ - BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" :"", \ + !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T", \ + BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : ATOMstorage(b->ttype) == TYPE_str && GDK_ELIMDOUBLES(b->tvheap) ? "E" : "", \ b->tsorted ? "S" : b->tnosorted ? "!s" : "", \ b->trevsorted ? "R" : b->tnorevsorted ? "!r" : "", \ b->tkey ? "K" : b->tnokey[1] ? "!k" : "", \ @@ -285,8 +285,8 @@ BAT *virtualize(BAT *bn) b ? "[" : "", \ b ? ATOMname(b->ttype) : "", \ b ? "]" : "", \ - b ? !b->batTransient ? "P" : isVIEW(b) ? "V" : "T" : "", \ - b ? BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : "" : "", \ + b ? !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T" : "", \ + b ? BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : ATOMstorage(b->ttype) == TYPE_str && GDK_ELIMDOUBLES(b->tvheap) ? "E" : "" : "", \ b ? b->tsorted ? "S" : b->tnosorted ? "!s" : "" : "", \ b ? b->trevsorted ? "R" : b->tnorevsorted ? "!r" : "" : "", \ b ? b->tkey ? "K" : b->tnokey[1] ? "!k" : "" : "", \ diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c --- a/gdk/gdk_project.c +++ b/gdk/gdk_project.c @@ -580,8 +580,7 @@ BATproject2(BAT *restrict l, BAT *restri } else if (l->tnonil && r2 != NULL && (r1->tvheap == r2->tvheap || - (!GDK_ELIMDOUBLES(r1->tvheap) && - !GDK_ELIMDOUBLES(r2->tvheap) /* && size tests */))) { + (!GDK_ELIMDOUBLES(r1->tvheap) /* && size tests */))) { /* r1 and r2 may explicitly share their vheap, * if they do, the result will also share the * vheap; this also means that for this case we diff --git a/monetdb5/mal/CMakeLists.txt b/monetdb5/mal/CMakeLists.txt --- a/monetdb5/mal/CMakeLists.txt +++ b/monetdb5/mal/CMakeLists.txt @@ -17,7 +17,9 @@ set(mal_public_headers ${CMAKE_CURRENT_SOURCE_DIR}/mal_linker.h ${CMAKE_CURRENT_SOURCE_DIR}/mal_namespace.h ${CMAKE_CURRENT_SOURCE_DIR}/mal_stack.h - ${CMAKE_CURRENT_SOURCE_DIR}/mal_type.h) + ${CMAKE_CURRENT_SOURCE_DIR}/mal_type.h + ${CMAKE_CURRENT_SOURCE_DIR}/mal_prelude.h + ${CMAKE_CURRENT_SOURCE_DIR}/mel.h) add_library(mal OBJECT) @@ -53,7 +55,6 @@ target_sources(mal mal_embedded.c mal_embedded.h mal_private.h mal_internal.h mal_prelude.c - mel.h PUBLIC ${mal_public_headers}) diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c --- a/monetdb5/mal/mal_import.c +++ b/monetdb5/mal/mal_import.c @@ -32,6 +32,8 @@ #include "mal_parser.h" #include "mal_authorize.h" #include "mal_private.h" +#include "mal_session.h" +#include "mal_utils.h" void slash_2_dir_sep(str fname) diff --git a/monetdb5/mal/mal_import.h b/monetdb5/mal/mal_import.h --- a/monetdb5/mal/mal_import.h +++ b/monetdb5/mal/mal_import.h @@ -11,8 +11,6 @@ #include "mal_exception.h" #include "mal_client.h" -#include "mal_session.h" -#include "mal_utils.h" #include "mal_prelude.h" mal_export str malIncludeString(Client c, const str name, const str mal, int listing, MALfcn address); diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -1276,7 +1276,7 @@ pushArgumentId(MalBlkPtr mb, InstrPtr p, if ((v = newVariable(mb, name, namelen, getAtomIndex(name, namelen, TYPE_any))) < 0) { /* set the MAL block to erroneous and simply return without doing anything */ /* mb->errors already set */ - return NULL; + return p; } } return pushArgument(mb, p, v); diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -20,6 +20,7 @@ #include "mal_utils.h" #include "mal_builder.h" #include "mal_type.h" +#include "mal_session.h" #include "mal_private.h" #define FATALINPUT MAXERRORS+1 diff --git a/monetdb5/mal/mal_prelude.h b/monetdb5/mal/mal_prelude.h --- a/monetdb5/mal/mal_prelude.h +++ b/monetdb5/mal/mal_prelude.h @@ -11,8 +11,6 @@ #include "mal_exception.h" #include "mal_client.h" -#include "mal_session.h" -#include "mal_utils.h" #include "mel.h" diff --git a/monetdb5/mal/mal_scenario.c b/monetdb5/mal/mal_scenario.c --- a/monetdb5/mal/mal_scenario.c +++ b/monetdb5/mal/mal_scenario.c @@ -97,6 +97,7 @@ #include "mal_exception.h" #include "mal_profiler.h" #include "mal_private.h" +#include "mal_session.h" #ifdef HAVE_SYS_TIMES_H # include <sys/times.h> diff --git a/sql/backends/monet5/CMakeLists.txt b/sql/backends/monet5/CMakeLists.txt --- a/sql/backends/monet5/CMakeLists.txt +++ b/sql/backends/monet5/CMakeLists.txt @@ -49,11 +49,6 @@ if(HAVE_HGE) endif() create_include_object( - MAL_LANGUAGE - name_module "sql" - modules_list ${include_mal_files}) - -create_include_object( SQL_LANGUAGE name_module "sql" path "${CMAKE_SOURCE_DIR}/sql/scripts/" @@ -119,7 +114,8 @@ set_target_properties(sql PROPERTIES OUTPUT_NAME monetdbsql VERSION ${MONETDB_VERSION} - SOVERSION ${MONETDB_VERSION_MAJOR}) + SOVERSION ${MONETDB_VERSION_MAJOR} + PUBLIC_HEADER "${sql_public_headers}") target_compile_definitions(sql PRIVATE @@ -129,6 +125,9 @@ target_compile_definitions(sql install(TARGETS sql EXPORT sqlTargets + PUBLIC_HEADER + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monetdb + COMPONENT sql RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -296,10 +296,43 @@ main(int argc, char **av) { "transactions", no_argument, NULL, 0 }, { "read-password-initialize-and-exit", no_argument, NULL, 0 }, + { "loadmodule", required_argument, NULL, 0 }, { NULL, 0, NULL, 0 } }; +#define MAX_MODULES 32 + char *modules[MAX_MODULES+1]; + int mods = 0; + + modules[mods++] = "sql"; + modules[mods++] = "generator"; + modules[mods++] = "opt_sql_append"; +#ifdef HAVE_GEOM + modules[mods++] = "geom"; +#endif +#ifdef HAVE_LIBR + /* TODO check for used */ + modules[mods++] = "rapi"; +#endif +#ifdef HAVE_LIBPY3 + /* TODO check for used */ + modules[mods++] = "pyapi3"; +#endif +#ifdef HAVE_CUDF + modules[mods++] = "capi"; +#endif + modules[mods++] = "udf"; +#ifdef HAVE_FITS + modules[mods++] = "fits"; +#endif +#ifdef HAVE_NETCDF + modules[mods++] = "netcdf"; +#endif +#ifdef HAVE_SHP + modules[mods++] = "shp"; +#endif + #if defined(_MSC_VER) && defined(__cplusplus) set_terminate(mserver_abort); #endif @@ -435,6 +468,11 @@ main(int argc, char **av) readpwdxit = true; break; } + if (strcmp(long_options[option_index].name, "loadmodule") == 0) { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list