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 <[email protected]>
-- 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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list