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

Reply via email to