Changeset: bd87a221453e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd87a221453e Modified Files: sql/common/sql_types.c sql/server/rel_unnest.c Branch: typing Log Message:
Merged with Oct2020 diffs (truncated from 699 to 300 lines): diff --git a/clients/examples/C/CMakeLists.txt b/clients/examples/C/CMakeLists.txt --- a/clients/examples/C/CMakeLists.txt +++ b/clients/examples/C/CMakeLists.txt @@ -40,7 +40,7 @@ if(TESTING) add_executable(streamcat streamcat.c) - target_link_libraries(streamcat + target_link_libraries(streamcat PRIVATE monetdb_config_header stream) diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c --- a/clients/mapiclient/mhelp.c +++ b/clients/mapiclient/mhelp.c @@ -524,9 +524,9 @@ SQLhelp sqlhelp1[] = { NULL}, {"START TRANSACTION", "Change transaction mode from auto-commit to user controlled commit/rollback", - "{ START | BEGIN } TRANSACTION transactionmode", + "{ START | BEGIN } TRANSACTION [ transactionmode ]", "transactionmode", - "See also https://www.monetdb.org/Documentation/Manuals/SQLreference/Transactions"}, + "See also https://www.monetdb.org/Documentation/SQLreference/Transactions"}, {"TABLE JOINS", "", "'(' joined_table ') |\n" diff --git a/clients/mapilib/monetdb-mapi.pc.in b/clients/mapilib/monetdb-mapi.pc.in --- a/clients/mapilib/monetdb-mapi.pc.in +++ b/clients/mapilib/monetdb-mapi.pc.in @@ -6,8 +6,9 @@ Name: monetdb-mapi Description: MonetDB MAPI C-client libary +URL: https://www.monetdb.org/ Version: @MONETDB_VERSION@ -Requires: monetdb-stream openssl +Requires.private: monetdb-stream = @MONETDB_VERSION@ openssl Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -lmapi Cflags: -I@CMAKE_INSTALL_FULL_INCLUDEDIR@/monetdb diff --git a/cmake/monetdb-deb-packages.cmake b/cmake/monetdb-deb-packages.cmake --- a/cmake/monetdb-deb-packages.cmake +++ b/cmake/monetdb-deb-packages.cmake @@ -61,7 +61,7 @@ set(CPACK_COMPONENT_STREAMDEV_DESCRIPTIO accelerators. It also has an SQL front end. . This package contains the files to develop with the - libmonetdb-stream13 library.") + libmonetdb-stream${STREAM_VERSION_MAJOR} library.") set(CPACK_DEBIAN_CLIENT_PACKAGE_NAME "libmonetdb-client${MAPI_VERSION_MAJOR}") set(CPACK_DEBIAN_CLIENT_PACKAGE_DEPENDS "\\\${shlibs:Depends}, \\\${misc:Depends}") @@ -82,7 +82,7 @@ set(CPACK_COMPONENT_CLIENTDEV_DESCRIPTIO automatic index management, extensibility of data types and search accelerators. It also has an SQL front end. . - This package contains the files to develop with the libmonetdb-client12 + This package contains the files to develop with the libmonetdb-client${MAPI_VERSION_MAJOR} library.") set(CPACK_DEBIAN_MCLIENT_PACKAGE_NAME "monetdb-client") diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake --- a/cmake/monetdb-functions.cmake +++ b/cmake/monetdb-functions.cmake @@ -257,7 +257,7 @@ function(monetdb_debian_extra_files) ${CMAKE_SOURCE_DIR}/misc/packages/deb/changelog ${CMAKE_SOURCE_DIR}/misc/packages/deb/copyright DESTINATION - ${CMAKE_INSTALL_DATAROOTDIR}/doc/libmonetdb-client12 + ${CMAKE_INSTALL_DATAROOTDIR}/doc/libmonetdb-client${MAPI_VERSION_MAJOR} COMPONENT client) install(FILES @@ -285,14 +285,14 @@ function(monetdb_debian_extra_files) ${CMAKE_SOURCE_DIR}/misc/packages/deb/changelog ${CMAKE_SOURCE_DIR}/misc/packages/deb/copyright DESTINATION - ${CMAKE_INSTALL_DATAROOTDIR}/doc/libmonetdb-stream13 + ${CMAKE_INSTALL_DATAROOTDIR}/doc/libmonetdb-stream${STREAM_VERSION_MAJOR} COMPONENT stream) install(FILES ${CMAKE_SOURCE_DIR}/misc/packages/deb/changelog ${CMAKE_SOURCE_DIR}/misc/packages/deb/copyright DESTINATION - ${CMAKE_INSTALL_DATAROOTDIR}/doc/libmonetdb19 + ${CMAKE_INSTALL_DATAROOTDIR}/doc/libmonetdb${GDK_VERSION_MAJOR} COMPONENT monetdb) install(FILES diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt --- a/common/stream/CMakeLists.txt +++ b/common/stream/CMakeLists.txt @@ -89,15 +89,15 @@ if (NOT WIN32) endif() if(CURL_FOUND) - set(PKG_CURL "${CMAKE_SHARED_LIBRARY_PREFIX}curl") + set(PKG_CURL "libcurl") endif() if(LZ4_FOUND) - set(PKG_LZ4 "${CMAKE_SHARED_LIBRARY_PREFIX}lz4") + set(PKG_LZ4 "liblz4") endif() if(LIBLZMA_FOUND) - set(PKG_LZMA "${CMAKE_SHARED_LIBRARY_PREFIX}lzma") + set(PKG_LZMA "liblzma") endif() if(SNAPPY_FOUND) diff --git a/common/stream/bs2.c b/common/stream/bs2.c --- a/common/stream/bs2.c +++ b/common/stream/bs2.c @@ -30,7 +30,7 @@ compress_stream_data(bs2 *s) { assert(s->comp != COMPRESSION_NONE); if (s->comp == COMPRESSION_SNAPPY) { -#ifdef HAVE_LIBSNAPPY +#ifdef HAVE_SNAPPY size_t compressed_length = s->compbufsiz; snappy_status ret; if ((ret = snappy_compress(s->buf, s->nr, s->compbuf, &compressed_length)) != SNAPPY_OK) { @@ -63,7 +63,7 @@ decompress_stream_data(bs2 *s) { assert(s->comp != COMPRESSION_NONE); if (s->comp == COMPRESSION_SNAPPY) { -#ifdef HAVE_LIBSNAPPY +#ifdef HAVE_SNAPPY snappy_status ret; size_t uncompressed_length = s->bufsiz; if ((ret = snappy_uncompress(s->compbuf, s->itotal, s->buf, &uncompressed_length)) != SNAPPY_OK) { @@ -96,7 +96,7 @@ compression_size_bound(bs2 *s) if (s->comp == COMPRESSION_NONE) { return 0; } else if (s->comp == COMPRESSION_SNAPPY) { -#ifndef HAVE_LIBSNAPPY +#ifndef HAVE_SNAPPY return -1; #else return snappy_max_compressed_length(s->bufsiz); diff --git a/common/stream/monetdb-stream.pc.in b/common/stream/monetdb-stream.pc.in --- a/common/stream/monetdb-stream.pc.in +++ b/common/stream/monetdb-stream.pc.in @@ -6,8 +6,10 @@ Name: monetdb-stream Description: MonetDB streams libary +URL: https://www.monetdb.org/ Version: @MONETDB_VERSION@ -Requires: @PKG_ZLIB@ @PKG_BZIP2@ @PKG_CURL@ @PKG_LZMA@ @PKG_SNAPPY@ +Requires.private: @PKG_ZLIB@ @PKG_BZIP2@ @PKG_CURL@ @PKG_LZMA@ @PKG_SNAPPY@ -Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -lstream @SOCKET_LIBS@ @PKG_LIBICONV@ +Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -lstream +Libs.private: @SOCKET_LIBS@ @PKG_LIBICONV@ Cflags: -I@CMAKE_INSTALL_FULL_INCLUDEDIR@/monetdb diff --git a/common/stream/stream_internal.h b/common/stream/stream_internal.h --- a/common/stream/stream_internal.h +++ b/common/stream/stream_internal.h @@ -54,7 +54,7 @@ #ifdef HAVE_LIBLZMA #include <lzma.h> #endif -#ifdef HAVE_LIBSNAPPY +#ifdef HAVE_SNAPPY #include <snappy-c.h> #endif #ifdef HAVE_LIBLZ4 diff --git a/common/utils/mcrypt.c b/common/utils/mcrypt.c --- a/common/utils/mcrypt.c +++ b/common/utils/mcrypt.c @@ -64,7 +64,7 @@ mcrypt_getHashAlgorithms(void) #ifdef HAVE_SHA1_UPDATE ",SHA1" #endif -#ifdef HAVE_LIBSNAPPY +#ifdef HAVE_SNAPPY ",COMPRESSION_SNAPPY" #endif #ifdef HAVE_LIBLZ4 diff --git a/gdk/monetdb-gdk.pc.in b/gdk/monetdb-gdk.pc.in --- a/gdk/monetdb-gdk.pc.in +++ b/gdk/monetdb-gdk.pc.in @@ -6,8 +6,10 @@ Name: monetdb-gdk Description: MonetDB GDK libary +URL: https://www.monetdb.org/ Version: @MONETDB_VERSION@ -Requires: monetdb-stream +Requires.private: monetdb-stream = @MONETDB_VERSION@ -Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -lbat -lm @CMAKE_THREAD_LIBS_INIT@ -l@CMAKE_DL_LIBS@ +Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -lbat +Libs.private: -lm @CMAKE_THREAD_LIBS_INIT@ -l@CMAKE_DL_LIBS@ Cflags: -I@CMAKE_INSTALL_FULL_INCLUDEDIR@/monetdb diff --git a/monetdb5/ChangeLog.Oct2020 b/monetdb5/ChangeLog.Oct2020 --- a/monetdb5/ChangeLog.Oct2020 +++ b/monetdb5/ChangeLog.Oct2020 @@ -13,8 +13,3 @@ use a UNIX domain socket. If mapi_port is 0, we let the operating system choose a free port (like mapi_autosense). Default behavior has not changed. - -* Mon Aug 31 2020 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com> -- Made general logarithm function log(x,base) compliant with the SQL - standard, by swapping the input parameters. - Instead of log(x,base), now is log(base,x). diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c --- a/monetdb5/modules/mal/mal_mapi.c +++ b/monetdb5/modules/mal/mal_mapi.c @@ -207,7 +207,7 @@ doChallenge(void *data) comp = COMPRESSION_NONE; if (strstr(buf, "COMPRESSION_SNAPPY")) { -#ifdef HAVE_LIBSNAPPY +#ifdef HAVE_SNAPPY comp = COMPRESSION_SNAPPY; #else errmsg = "!server does not support Snappy compression.\n"; diff --git a/monetdb5/optimizer/opt_mergetable.c b/monetdb5/optimizer/opt_mergetable.c --- a/monetdb5/optimizer/opt_mergetable.c +++ b/monetdb5/optimizer/opt_mergetable.c @@ -650,7 +650,7 @@ mat_apply4(MalBlkPtr mb, InstrPtr p, mat } static int -mat_setop(MalBlkPtr mb, InstrPtr p, matlist_t *ml, int m, int n) +mat_setop(MalBlkPtr mb, InstrPtr p, matlist_t *ml, int m, int n, int o) { int tpe = getArgType(mb,p, 0), k, j; InstrPtr r = newInstruction(mb, matRef, packRef); @@ -665,6 +665,9 @@ mat_setop(MalBlkPtr mb, InstrPtr p, matl assert(m>=0 || n>=0); if (m >= 0 && n >= 0) { int nr = 1; + + assert(o < 0 || mat[m].mi->argc == mat[o].mi->argc); + for(k=1; k<mat[m].mi->argc; k++) { InstrPtr q = copyInstruction(p); InstrPtr s = newInstruction(mb, matRef, packRef); @@ -700,6 +703,8 @@ mat_setop(MalBlkPtr mb, InstrPtr p, matl getArg(q,0) = newTmpVariable(mb, tpe); getArg(q,1) = getArg(mat[m].mi,k); getArg(q,2) = getArg(s,0); + if (o >= 0) + getArg(q,3) = getArg(mat[o].mi, k); if(setPartnr(ml, getArg(mat[m].mi,k), getArg(q,0), nr)) { freeInstruction(q); freeInstruction(r); @@ -712,6 +717,8 @@ mat_setop(MalBlkPtr mb, InstrPtr p, matl } } else { assert(m >= 0); + assert(o < 0 || mat[m].mi->argc == mat[o].mi->argc); + for(k=1; k<mat[m].mi->argc; k++) { InstrPtr q = copyInstruction(p); if(!q) { @@ -721,6 +728,8 @@ mat_setop(MalBlkPtr mb, InstrPtr p, matl getArg(q,0) = newTmpVariable(mb, tpe); getArg(q,1) = getArg(mat[m].mi, k); + if (o >= 0) + getArg(q,3) = getArg(mat[o].mi, k); pushInstruction(mb,q); if(setPartnr(ml, getArg(q, 2), getArg(q,0), k)) { @@ -2302,7 +2311,8 @@ OPTmergetableImplementation(Client cntxt getFunctionId(p) == intersectRef) && (m=is_a_mat(getArg(p,1), &ml)) >= 0) { n=is_a_mat(getArg(p,2), &ml); - if(mat_setop(mb, p, &ml, m, n)) { + o=is_a_mat(getArg(p,3), &ml); + if(mat_setop(mb, p, &ml, m, n, o)) { msg = createException(MAL,"optimizer.mergetable",SQLSTATE(HY013) MAL_MALLOC_FAIL); goto cleanup; } diff --git a/monetdb5/tools/CMakeLists.txt b/monetdb5/tools/CMakeLists.txt --- a/monetdb5/tools/CMakeLists.txt +++ b/monetdb5/tools/CMakeLists.txt @@ -39,12 +39,12 @@ if (NOT WIN32) # In OpenSSL case, we link only to the crypto library, so it will be # always one library to link to get_filename_component(CRYPTO_LIBRARIES_PATH "${CRYPTO_LIBRARIES}" DIRECTORY) - set(PKG_CRYPTO "-L${CRYPTO_LIBRARIES_PATH} -lcrypto") + set(PKG_CRYPTO "libcrypto") endif() if(PCRE_FOUND) get_filename_component(PCRE_LIBRARIES_PATH "${PCRE_LIBRARIES}" DIRECTORY) - set(PKG_PCRE "-L${PCRE_LIBRARIES_PATH} -lpcre") + set(PKG_PCRE "libpcre") endif() configure_file(monetdb5.pc.in _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list