MonetDB: cmake-fun - Moved string.h include to monetdb_config.h.in
Changeset: b5f7648f4428 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5f7648f4428 Modified Files: clients/mapiclient/dotmonetdb.c clients/mapiclient/dump.c clients/mapiclient/eventparser.h clients/mapiclient/mclient.c clients/mapiclient/mhelp.c clients/mapiclient/msqldump.c clients/mapiclient/prompt.c clients/mapiclient/stethoscope.c clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c clients/mapilib/mapi.c clients/mapilib/mapi.h clients/odbc/driver/ODBCGlobal.h clients/odbc/driver/SQLDriverConnect.c clients/odbc/setup/drvcfg.c clients/odbc/winsetup/install.c common/options/getopt1.c common/options/monet_options.c common/stream/stream.c common/utils/mcrypt.c common/utils/msabaoth.c common/utils/mutils.c common/utils/muuid.c common/utils/revision.c gdk/gdk_interprocess.c gdk/gdk_interprocess.h gdk/gdk_logger.c gdk/gdk_posix.c gdk/gdk_system.c geom/monetdb5/geom.h monetdb5/extras/rapi/rapi.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_sabaoth.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/strptime.c monetdb5/modules/kernel/batcolor.h monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/manifold.h monetdb5/modules/mal/pcre.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/txtsim.h monetdb_config.h.in sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/pyapi/unicode.c sql/backends/monet5/UDF/udf/udf.h sql/backends/monet5/sql_statement.c sql/backends/monet5/vaults/bam/bam_globals.h sql/backends/monet5/vaults/shp/shp.c sql/common/sql_list.c sql/common/sql_types.c sql/server/rel_semantic.c sql/server/sql_parser.y sql/server/sql_scan.c sql/server/sql_semantic.c testing/Mdiff.c testing/difflib.c testing/helpers.c tools/merovingian/client/monetdb.c tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/client.c tools/merovingian/daemon/connections.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/discoveryrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/handlers.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/multiplex-funnel.c tools/merovingian/daemon/proxy.c tools/merovingian/utils/control.c tools/merovingian/utils/database.c tools/merovingian/utils/properties.c tools/merovingian/utils/utils.c tools/mserver/mserver5.c tools/mserver/shutdowntest.c Branch: cmake-fun Log Message: Moved string.h include to monetdb_config.h.in On msvc we define strdup as macro to _strdup function. However by doing this before including gives a compilation error. diffs (truncated from 849 to 300 lines): diff --git a/clients/mapiclient/dotmonetdb.c b/clients/mapiclient/dotmonetdb.c --- a/clients/mapiclient/dotmonetdb.c +++ b/clients/mapiclient/dotmonetdb.c @@ -8,7 +8,6 @@ #include "monetdb_config.h" #include "dotmonetdb.h" -#include void parse_dotmonetdb(char **user, char **passwd, char **dbname, char **language, int *save_history, char **output, int *pagewidth) diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c --- a/clients/mapiclient/dump.c +++ b/clients/mapiclient/dump.c @@ -12,7 +12,6 @@ #ifndef NATIVE_WIN32 #include #endif -#include #include #include "msqldump.h" diff --git a/clients/mapiclient/eventparser.h b/clients/mapiclient/eventparser.h --- a/clients/mapiclient/eventparser.h +++ b/clients/mapiclient/eventparser.h @@ -22,7 +22,6 @@ #include "monetdb_config.h" #include "mapi.h" #include "stream.h" -#include #include #include #ifndef NATIVE_WIN32 diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -22,7 +22,6 @@ # endif #endif #include "mapi.h" -#include #ifdef NATIVE_WIN32 # include #else diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c --- a/clients/mapiclient/mhelp.c +++ b/clients/mapiclient/mhelp.c @@ -26,7 +26,6 @@ #include "monetdb_config.h" #include -#include #ifndef NATIVE_WIN32 #include/* for strncasecmp */ #endif diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c --- a/clients/mapiclient/msqldump.c +++ b/clients/mapiclient/msqldump.c @@ -19,7 +19,6 @@ # include #endif #include -#include #include #include "stream.h" diff --git a/clients/mapiclient/prompt.c b/clients/mapiclient/prompt.c --- a/clients/mapiclient/prompt.c +++ b/clients/mapiclient/prompt.c
MonetDB: cmake-fun - Several changes.
Changeset: b32b5df23d78 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b32b5df23d78 Modified Files: CMakeLists.txt common/stream/stream_socket.h gdk/gdk_posix.h monetdb5/modules/mal/mal_mapi.c monetdb_config.h.in Branch: cmake-fun Log Message: Several changes. - We will support Visual Studio versions from 2015 up. - Perform a better test for _Noreturn keyword and __attribute__ extensions. - FindOpenSSL script works fine on Windows on cmake 3.7 up. - Use winsock2.h instead of the deprecated winsock.h - -g3 is available on clang (Previously I check the documentation for an old version). diffs (221 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,9 @@ #]] if(WIN32) - cmake_minimum_required(VERSION 3.1) # The $ generator expression appears on cmake 3.1 + # The $ generator expression appears on cmake 3.1 + # FindOpenSSL scripts works fine on Windows from cmake 3.7 up + cmake_minimum_required(VERSION 3.7) else() cmake_minimum_required(VERSION 3.0) endif() @@ -176,12 +178,10 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte set(INTEL_MATH_H_HACK ON CACHE INTERNAL "must use intel math.h hack") endif() endif() - set(__attribute__(a) ON) set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON CACHE INTERNAL "NaN cannot be used as an initializer") # This hack is only required by the Intel compiler elseif(MSVC) - set(_Noreturn "__declspec(noreturn)") - set(__attribute__(a) ON) - set(restrict "__restrict") + set(restrict "__restrict") # C99 feature not present in MSVC + set(inline "__inline") # C99 feature only available on C++ compiler in MSVC https://docs.microsoft.com/en-us/cpp/cpp/inline-functions-cpp?view=vs-2015 add_definitions(/D_CRT_SECURE_NO_WARNINGS) if(CMAKE_SIZEOF_VOID_P EQUAL 8) # Windows 64 bit set(HAVE__MUL128 ON CACHE INTERNAL "mul128 function is available") @@ -211,8 +211,10 @@ check_c_source_compiles(" return 0; }" HAVE___BUILTIN_ADD_OVERFLOW) -if(NOT MSVC) - #Test if _Noreturn keyword is supported +#Test if _Noreturn keyword is supported +if(MSVC) + set(_Noreturn "__declspec(noreturn)") +else() check_c_source_compiles(" #include @@ -223,11 +225,17 @@ if(NOT MSVC) (void) argc; (void) argv; foo (\"%s\", \"\"); return 0; - }" HAVE_NORETURN) - if(NOT HAVE_NORETURN) - set(_Noreturn "__attribute__((__noreturn__))") + }" HAVE_NORETURN_KEYWORD) + if(NOT HAVE_NORETURN_KEYWORD) + check_symbol_exists("__has_attribute(__noreturn__)" "" HAVE_NORETURN_ATTRIBUTE) + if(HAVE_NORETURN_ATTRIBUTE) # If the compiler supports the attribute + set(_Noreturn "__attribute__((__noreturn__))") + else() + set(_Noreturn " ") # remove keyword + endif() endif() endif() + #Test if compiler has usable check_c_source_compiles(" #include @@ -302,7 +310,7 @@ if(Python3_Interpreter_FOUND) math(EXPR LEN1 "${LIBDIR_LENGTH}+1") # add the / separator string(SUBSTRING "${PYTHON3_LIBDIR}" ${LEN1} -1 PYTHON_LIBDIR) # remove the prefix else() - message(WARNING "Could not find Python 3 library directory") + message(WARNING "Could not determine MonetDB Python testing files instalation directory") endif() set(HAVE_PYTHON3 ON CACHE INTERNAL "python3 is available") endif() @@ -479,12 +487,13 @@ cmake_push_check_state() set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_EXTRA_INCLUDE_FILES};sys/types.h") check_type_size(size_t SIZEOF_SIZE_T LANGUAGE C) #On C99, but we have to calculate the size check_type_size(ssize_t SIZEOF_SSIZE_T LANGUAGE C) -if(NOT HAVE_SIZEOF_SSIZE_T AND MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8) # Windows 64 bit - set(ssize_t "int64_t") - set(SIZEOF_SSIZE_T 8) -elseif(MSVC) - set(ssize_t "int32_t") - set(SIZEOF_SSIZE_T 4) +if(NOT HAVE_SIZEOF_SSIZE_T) # Set a default value + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(ssize_t "int64_t") + else() + set(ssize_t "int32_t") + endif() + set(SIZEOF_SSIZE_T ${CMAKE_SIZEOF_VOID_P}) endif() check_type_size(char SIZEOF_CHAR LANGUAGE C) check_type_size(short SIZEOF_SHORT LANGUAGE C) @@ -625,12 +634,10 @@ else() # GCC, Clang and Apple clang MT_addCompilerFlag("-O3" "-O3" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("-Os" "-Os" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) # Replace -g flag with -g3 -
MonetDB: cmake-fun - Install geom module SQL files only if the m...
Changeset: 0f4250f29881 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0f4250f29881 Removed Files: geom/lib/Makefile.ag Modified Files: geom/CMakeLists.txt sql/backends/monet5/UDF/capi/CMakeLists.txt Branch: cmake-fun Log Message: Install geom module SQL files only if the module is available. Cmake 3.5 was confused with cheader.h file location, maybe because of the special target. diffs (43 lines): diff --git a/geom/CMakeLists.txt b/geom/CMakeLists.txt --- a/geom/CMakeLists.txt +++ b/geom/CMakeLists.txt @@ -7,6 +7,6 @@ #]] add_subdirectory(monetdb5) -if(HAVE_SQL) +if(HAVE_SQL AND HAVE_GEOM) add_subdirectory(sql) endif() diff --git a/geom/lib/Makefile.ag b/geom/lib/Makefile.ag deleted file mode 100644 --- a/geom/lib/Makefile.ag +++ /dev/null @@ -1,14 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. - -MTSAFE -INCLUDES = ../../common/stream ../../common/utils ../../gdk $(GEOS_INCS) $(proj_CFLAGS) - -lib_geom = { - NOINST - DIR = libdir/MonetDB - SOURCES = ../monetdb5/libgeom.c ../monetdb5/libgeom.h -} diff --git a/sql/backends/monet5/UDF/capi/CMakeLists.txt b/sql/backends/monet5/UDF/capi/CMakeLists.txt --- a/sql/backends/monet5/UDF/capi/CMakeLists.txt +++ b/sql/backends/monet5/UDF/capi/CMakeLists.txt @@ -27,7 +27,8 @@ if(NOT "${ENABLE_CINTEGRATION}" STREQUAL list(APPEND CAPI_LINK_LIBRARIES monetdb5 gdk) endif() - add_library(capi MODULE capi.c capi.h cheader.h ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h) + add_library(capi MODULE capi.c capi.h ${CMAKE_CURRENT_SOURCE_DIR}/cheader.h + ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h) target_link_libraries(capi PRIVATE ${CAPI_LINK_LIBRARIES}) set_target_properties(capi PROPERTIES OUTPUT_NAME _capi) target_compile_definitions(capi PRIVATE LIBCUDF) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Runs on cmake 3.5, also distinguish between...
Changeset: 6c9a57ccaa96 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6c9a57ccaa96 Modified Files: CMakeLists.txt sql/backends/monet5/UDF/pyapi3/CMakeLists.txt Branch: cmake-fun Log Message: Runs on cmake 3.5, also distinguish between python interpreter (required for Mtest) and python development library (required for Python UDFs). diffs (82 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -cmake_minimum_required(VERSION 3.11 FATAL_ERROR) +cmake_minimum_required(VERSION 3.5 FATAL_ERROR) # Change these variables between releases set(MONETDB_VERSION_MAJOR "11") @@ -25,7 +25,8 @@ set(STREAM_VERSION_MAJOR "13") set(STREAM_VERSION "${STREAM_VERSION_MAJOR}.1.0") # HOMEPAGE_URL "https://www.monetdb.org/; in project command supported from cmake 3.12 up -project(MonetDB VERSION "${MONETDB_VERSION}" DESCRIPTION "MonetDB, SQL queries at light speed" LANGUAGES C) +# DESCRIPTION "MonetDB, SQL queries at light speed" in project command supported from cmake 3.9 up +project(MonetDB VERSION "${MONETDB_VERSION}" LANGUAGES C) set(C_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD 99) @@ -249,23 +250,26 @@ set(PATH_SEP "'${OS_PATHSEP}'") set(SO_EXT "${CMAKE_SHARED_LIBRARY_SUFFIX}") # We need python3 for the testweb, python udfs and c udfs compilation -if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) +if(CMAKE_VERSION VERSION_GREATER 3.11) find_package(Python3 COMPONENTS Interpreter Development) else() set(Python_ADDITIONAL_VERSIONS 3) find_package(PythonInterp 3) find_package(PythonLibs 3) - if(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND) - set(Python3_FOUND ON) + if(PYTHONINTERP_FOUND) + set(Python3_Interpreter_FOUND ON) set(Python3_VERSION_MAJOR "${PYTHON_VERSION_MAJOR}") set(Python3_VERSION_MINOR "${PYTHON_VERSION_MINOR}") set(Python3_VERSION_PATCH "${PYTHON_VERSION_PATCH}") set(Python3_EXECUTABLE "${PYTHON_EXECUTABLE}") + endif() + if(PYTHONLIBS_FOUND) + set(Python3_Development_FOUND ON) set(Python3_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}") set(Python3_LIBRARIES "${PYTHON_LIBRARIES}") endif() endif() -if(Python3_FOUND) +if(Python3_Interpreter_FOUND) set(PYTHON3_REQUIRED_VERSION "3.5") if("${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" VERSION_LESS ${PYTHON3_REQUIRED_VERSION}) message(WARNING "The Python 3 executable is too old ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR} < ${PYTHON3_REQUIRED_VERSION}") diff --git a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt --- a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt +++ b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt @@ -6,12 +6,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -set(PY3_INCLUDE_DIR "") -set(PY3_LIBRARIES "") -if(HAVE_PYTHON3) - set(PY3_INCLUDE_DIR "${Python3_INCLUDE_DIRS}") - set(PY3_LIBRARIES "${Python3_LIBRARIES}") - +if(HAVE_PYTHON3 AND Python3_Development_FOUND) message(STATUS "Checking for numpy version") exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import numpy; print(int(numpy.__version__.split('.').__getitem__(1)) >= 7)\"" OUTPUT_VARIABLE NUMPY_OUTPUT RETURN_VALUE NUMPY_RETURN_CODE) exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import numpy; print(numpy.get_include())\"" OUTPUT_VARIABLE NUMPY_CPP_FLAGS RETURN_VALUE NUMPY_CPP_RC) @@ -33,9 +28,9 @@ if(HAVE_LIBPY3) ../../../../../monetdb5/modules/atoms ../../../../../monetdb5/modules/mal ../../../../../gdk ../../../../../monetdb5/mal ../../../../../sql/backends/monet5 ../../../../../sql/common ../../../../../sql/include ../../../../../sql/server ../../../../../sql/storage ../pyapi - ${PY3_INCLUDE_DIR} ${NUMPY3_INCLUDE_DIR}) + ${Python3_INCLUDE_DIRS} ${NUMPY3_INCLUDE_DIR}) - set(PYAPI3_LINK_LIBRARIES ${PY3_LIBRARIES}) + set(PYAPI3_LINK_LIBRARIES ${Python3_LIBRARIES}) if(WIN32) list(APPEND PYAPI3_LINK_LIBRARIES monetdb5 gdk) endif() ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Simplify type checks.
Changeset: 304ec4949a3f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=304ec4949a3f Modified Files: CMakeLists.txt monetdb_config.h.in Branch: cmake-fun Log Message: Simplify type checks. diffs (61 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -452,22 +452,14 @@ check_include_file("sys/time.h" HAVE_SYS # C types existence cmake_push_check_state() -if(MSVC) - set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_EXTRA_INCLUDE_FILES};sys/types.h;winsock.h;crtdefs.h") -else() - set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_EXTRA_INCLUDE_FILES};sys/types.h;sys/socket.h") -endif() -check_type_size(SOCKET _SOCKET LANGUAGE C) -if(NOT HAVE__SOCKET) - set(SOCKET int) -endif() +set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_EXTRA_INCLUDE_FILES};sys/types.h") check_type_size(size_t SIZEOF_SIZE_T LANGUAGE C) #On C99, but we have to calculate the size check_type_size(ssize_t SIZEOF_SSIZE_T LANGUAGE C) if(NOT HAVE_SIZEOF_SSIZE_T AND MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8) # Windows 64 bit set(ssize_t "int64_t") set(SIZEOF_SSIZE_T 8) elseif(MSVC) - set(ssize_t "int") + set(ssize_t "int32_t") set(SIZEOF_SSIZE_T 4) endif() check_type_size(char SIZEOF_CHAR LANGUAGE C) diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -457,11 +457,6 @@ #cmakedefine restrict @restrict@ #endif -/* type used for sockets */ -#ifndef SOCKET -#cmakedefine SOCKET @SOCKET@ -#endif - /* Define to `int' if does not define. */ #ifndef ssize_t #cmakedefine ssize_t @ssize_t@ @@ -506,12 +501,13 @@ typedef __uint128_t uhge; #define SIZEOF_HGE SIZEOF___INT128_T #endif -#if !defined(NATIVE_WIN32) && !defined(closesocket) -/* on Windows use closesocket, otherwise just close */ +#ifndef WIN32 +#ifndef SOCKET +#define SOCKET int32_t +#endif +#ifndef closesocket #define closesocket close #endif - -#ifndef WIN32 #ifndef _In_z_ #define _In_z_ #endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Install Mapprove.py.bat on Windows.
Changeset: 553dda354995 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=553dda354995 Modified Files: testing/CMakeLists.txt Branch: cmake-fun Log Message: Install Mapprove.py.bat on Windows. diffs (11 lines): diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -65,6 +65,7 @@ endif() if(WIN32) install(FILES Mlog.bat Mtest.py.bat DESTINATION ${BINDIR}) + install(FILES Mtest.py.bat DESTINATION ${BINDIR} RENAME Mapprove.py.bat) install(FILES $ DESTINATION ${BINDIR} OPTIONAL) else() find_program(BASH NAMES bash DOC "bash interpreter fullpath") ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Older versions of GCC don't have the __has_...
Changeset: f622094a8a19 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f622094a8a19 Modified Files: clients/mapilib/mapi.c common/stream/stream.h monetdb_config.h.in tools/merovingian/daemon/handlers.h Branch: cmake-fun Log Message: Older versions of GCC don't have the __has_attribute macro. Sorry for my lack of experience. Also removed unused signal.h includes. diffs (53 lines): diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -702,7 +702,6 @@ # include #endif -#include #include #ifdef HAVE_FTIME # include /* ftime */ diff --git a/common/stream/stream.h b/common/stream/stream.h --- a/common/stream/stream.h +++ b/common/stream/stream.h @@ -26,7 +26,6 @@ # include #endif #include -#include #include /* avoid using "#ifdef WIN32" so that this file does not need our config.h */ diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -431,8 +431,13 @@ #cmakedefine _LARGE_FILES #endif -/* Does your compiler support `__attribute__'? */ -#if !defined(__has_attribute) && !defined(__attribute__) +/* Does your compiler support `__has_attribute' macro? */ +#ifndef __has_attribute +#define __has_attribute(a) 0 +#endif + +/* Does your compiler support `__attribute__' extension? */ +#if !defined(__GNUC__) && !defined(__clang__) && !defined(__attribute__) #define __attribute__(a) #endif diff --git a/tools/merovingian/daemon/handlers.h b/tools/merovingian/daemon/handlers.h --- a/tools/merovingian/daemon/handlers.h +++ b/tools/merovingian/daemon/handlers.h @@ -9,8 +9,6 @@ #ifndef _HANDLERS_H #define _HANDLERS_H 1 -#include - void handler(int sig); void huphandler(int sig); void childhandler(void); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - mserver5.c requires signal.h
Changeset: f1956314e372 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f1956314e372 Modified Files: tools/mserver/mserver5.c Branch: cmake-fun Log Message: mserver5.c requires signal.h diffs (12 lines): diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -19,6 +19,8 @@ #include "msabaoth.h" #include "mutils.h" +#include + #ifndef HAVE_GETOPT_LONG # include "monet_getopt.h" #else ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Intel compiler fixes and find python 3 inte...
Changeset: 23a4e7eb57ec for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=23a4e7eb57ec Added Files: sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat.in Removed Files: sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat Modified Files: monetdb5/NT/M5server.bat sql/backends/monet5/UDF/pyapi3/CMakeLists.txt sql/server/rel_schema.c sql/server/rel_select.c Branch: cmake-fun Log Message: Intel compiler fixes and find python 3 interpreter properly on Windows registry according to PEP 514. diffs (109 lines): diff --git a/monetdb5/NT/M5server.bat b/monetdb5/NT/M5server.bat --- a/monetdb5/NT/M5server.bat +++ b/monetdb5/NT/M5server.bat @@ -23,6 +23,7 @@ if "%APPDATA%" == "" goto usevar rem if the APPDATA variable does exist, put the database there set MONETDBDIR=%APPDATA%\MonetDB5 set MONETDBFARM="--dbpath=%MONETDBDIR%\dbfarm\demo" +if not exist %MONETDBDIR%\dbfarm ( mkdir %MONETDBDIR%\dbfarm ) goto skipusevar :usevar rem if the APPDATA variable does not exist, put the database in the diff --git a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt --- a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt +++ b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt @@ -58,7 +58,8 @@ if(HAVE_LIBPY3) install(TARGETS pyapi3 DESTINATION ${LIBDIR}/monetdb5) if(WIN32) install(FILES $ DESTINATION ${LIBDIR}/monetdb5 OPTIONAL) - install(FILES pyapi_locatepython3.bat DESTINATION ${CMAKE_INSTALL_PREFIX}) + configure_file(pyapi_locatepython3.bat.in ${CMAKE_CURRENT_BINARY_DIR}/pyapi_locatepython3.bat @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pyapi_locatepython3.bat DESTINATION ${CMAKE_INSTALL_PREFIX}) endif() install(FILES pyapi3.mal DESTINATION ${LIBDIR}/monetdb5) install(FILES 50_pyapi3.mal DESTINATION ${LIBDIR}/monetdb5/autoload) diff --git a/sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat b/sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat.in rename from sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat rename to sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat.in --- a/sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat +++ b/sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat.in @@ -5,16 +5,34 @@ @REM Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. @echo off - + setlocal ENABLEEXTENSIONS -set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.7\InstallPath" +@REM https://www.python.org/dev/peps/pep-0514/ +set KEY_NAME1="HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\@Python3_VERSION_MAJOR@.@Python3_VERSION_MINOR@\InstallPath" +set KEY_NAME2="HKEY_CURRENT_USER\Software\Python\PythonCore\@Python3_VERSION_MAJOR@.@Python3_VERSION_MINOR@\InstallPath" +set KEY_NAME3="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\@Python3_VERSION_MAJOR@.@Python3_VERSION_MINOR@\InstallPath" set VALUE_NAME="" - -FOR /F "usebackq skip=2 tokens=1,2,*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO ( + +FOR /F "usebackq skip=2 tokens=1,2,*" %%A IN (`REG QUERY %KEY_NAME1% /v %VALUE_NAME% 2^>nul`) DO ( set ValueName=%%A set ValueType=%%B set ValueValue=%%C ) +IF NOT defined ValueName ( +FOR /F "usebackq skip=2 tokens=1,2,*" %%A IN (`REG QUERY %KEY_NAME2% /v %VALUE_NAME% 2^>nul`) DO ( +set ValueName=%%A +set ValueType=%%B +set ValueValue=%%C +) +) +IF NOT defined ValueName ( +FOR /F "usebackq skip=2 tokens=1,2,*" %%A IN (`REG QUERY %KEY_NAME3% /v %VALUE_NAME% 2^>nul`) DO ( +set ValueName=%%A +set ValueType=%%B +set ValueValue=%%C +) +) + IF defined ValueName ( set LOCALPYTHONHOME=%ValueValue% set LOCALPYTHONPATH=%ValueValue%Lib @@ -28,6 +46,6 @@ IF defined LOCALPYTHONHOME ( set "PATH=%LOCALPYTHONHOME%;%PATH%" ) ) ELSE ( -@echo MonetDB/Python Disabled: Python 3.7 installation not found. +@echo MonetDB/Python Disabled: Python @Python3_VERSION_MAJOR@.@Python3_VERSION_MINOR@ installation not found. endlocal ) diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c --- a/sql/server/rel_schema.c +++ b/sql/server/rel_schema.c @@ -1923,7 +1923,7 @@ rel_grant_privs(mvc *sql, sql_schema *cu return rel_grant_func(sql, cur, obj_privs, qname, typelist, type, grantees, grant, grantor); } default: - return sql_error(sql, 02, SQLSTATE(M0M03) "Grant: unknown token %d", token); + return sql_error(sql, 02, SQLSTATE(M0M03) "Grant: unknown token %d", (int32_t) token); } } @@ -2108,7 +2108,7 @@ rel_revoke_privs(mvc *sql, sql_schema *c return rel_revoke_func(sql, cur, obj_privs, qname, typelist, type, grantees, grant, grantor); } default: - return sql_error(sql, 02, SQLSTATE(M0M03) "Grant: unknown token %d", token); +
MonetDB: cmake-fun - Include header files where they are needed.
Changeset: 9188120cc74c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9188120cc74c Modified Files: clients/mapilib/mapi.c common/options/monet_options.c common/stream/stream.c gdk/gdk_bbp.c gdk/gdk_utils.c monetdb5/mal/mal_readline.c monetdb5/modules/mal/mal_mapi.c monetdb_config.h.in testing/difflib.c Branch: cmake-fun Log Message: Include header files where they are needed. diffs (155 lines): diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -693,7 +693,9 @@ #include #include #include -#ifndef NATIVE_WIN32 +#ifdef NATIVE_WIN32 +# include +#else # include # include # include diff --git a/common/options/monet_options.c b/common/options/monet_options.c --- a/common/options/monet_options.c +++ b/common/options/monet_options.c @@ -35,6 +35,7 @@ #endif #ifdef NATIVE_WIN32 +#include #define getpid _getpid #else #include diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -58,6 +58,7 @@ #include #include #ifdef NATIVE_WIN32 +#include #include #else # include @@ -169,6 +170,10 @@ #define isatty _isatty #endif +#ifndef S_ISREG +#define S_ISREG(mode) (((mode) & _S_IFMT) == _S_IFREG) +#endif + struct stream { char *name; /* name of the stream */ bool swapbytes; /* whether to swap bytes */ diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -83,6 +83,10 @@ #define access(f, m) _access(f, m) #endif +#ifndef S_ISDIR +#define S_ISDIR(mode) (((mode) & _S_IFMT) == _S_IFDIR) +#endif + /* * The BBP has a fixed address, so re-allocation due to a growing BBP * caused by one thread does not disturb reads to the old entries by diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -34,6 +34,7 @@ int GDKverbose = 0; #endif #ifdef NATIVE_WIN32 +#include #include #define chdir _chdir #define getpid _getpid diff --git a/monetdb5/mal/mal_readline.c b/monetdb5/mal/mal_readline.c --- a/monetdb5/mal/mal_readline.c +++ b/monetdb5/mal/mal_readline.c @@ -18,6 +18,10 @@ #include #endif +#ifndef S_ISCHR +#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) +#endif + static void showCommands(void) { 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 @@ -43,6 +43,7 @@ #endif #ifdef NATIVE_WIN32 /* Windows specific */ # include +# include #else /* UNIX specific */ # include /* gethostname() */ # include diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -75,10 +75,7 @@ #include #endif -/* Windows include files */ -#include #include -#include #endif /* _MSC_VER */ /* location where binaries are installed */ @@ -297,15 +294,9 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_MMAN_H 1 -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_RESOURCE_H 1 - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_TIME_H 1 -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_UN_H 1 - /* Define to 1 if you have the `times' function. */ #cmakedefine HAVE_TIMES 1 @@ -528,14 +519,4 @@ typedef __uint128_t uhge; #define PROMPT2"\001\002\n"/* prompt: more data needed */ #define PROMPT3"\001\003\n"/* prompt: get file content */ -#ifndef S_ISREG -#define S_ISREG(mode) (((mode) & _S_IFMT) == _S_IFREG) -#endif -#ifndef S_ISDIR -#define S_ISDIR(mode) (((mode) & _S_IFMT) == _S_IFDIR) -#endif -#ifndef S_ISCHR -#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) -#endif - #endif /* _SEEN_MONETDB_CONFIG_H */ diff --git a/testing/difflib.c b/testing/difflib.c --- a/testing/difflib.c +++ b/testing/difflib.c @@ -17,7 +17,8 @@ #include #ifdef NATIVE_WIN32 -# include +#include +#include #define popen _popen #define pclose _pclose #define getpid _getpid ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Cleanup:
Changeset: 952c5cf48eb8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=952c5cf48eb8 Modified Files: CMakeLists.txt clients/mapiclient/eventparser.c clients/mapiclient/mclient.c clients/mapiclient/msqldump.c clients/mapiclient/stethoscope.c clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c clients/mapilib/mapi.c clients/odbc/winsetup/setup.c common/options/monet_options.c common/stream/stream.c common/utils/mutils.c gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_interprocess.c gdk/gdk_interprocess.h gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_posix.h gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_utils.c monetdb5/mal/mal.h monetdb5/mal/mal_instruction.h monetdb5/mal/mal_profiler.c monetdb5/mal/mal_profiler.h monetdb5/mal/mal_scenario.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.h monetdb5/modules/atoms/strptime.c monetdb5/modules/kernel/status.c monetdb5/scheduler/run_pipeline.h monetdb_config.h.in sql/backends/monet5/UDF/pyapi/convert_loops.h sql/backends/monet5/UDF/pyapi/pyapi.c sql/backends/monet5/UDF/pyapi/undef.h sql/benchmarks/xmark/unix.c testing/Mdiff.c tools/merovingian/utils/utils.c tools/mserver/mserver5.c Branch: cmake-fun Log Message: Cleanup: - Removed checks for POSIX functions available on very POSIX platform we support. - Removed checks for unused functions. diffs (truncated from 1617 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,16 +80,16 @@ if(NOT CMAKE_BUILD_TYPE) # Set default b endif() # Extensions to use -set(ENABLE_CINTEGRATION "AUTO" CACHE STRING "Enable support for C UDFs (default=AUTO)") -set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server (involves security risks) (default=YES)") +set(ENABLE_CINTEGRATION "AUTO" CACHE STRING "Enable support for C UDFs (default=AUTO)") # Check with HAVE_CUDF +set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server (involves security risks) (default=YES)") # Check with HAVE_CONSOLE set(ENABLE_EMBEDDED "NO" CACHE STRING "Enable support for running MonetDB as a library (default=NO)") # TODO check this set(ENABLE_FITS "AUTO" CACHE STRING "Enable support for FITS (default=AUTO)") # Check with HAVE_FITS -set(ENABLE_GDK "YES" CACHE STRING "Enable support for GDK (default=YES)") +set(ENABLE_GDK "YES" CACHE STRING "Enable support for GDK (default=YES)") # Check with HAVE_GDK set(ENABLE_GEOM "AUTO" CACHE STRING "Enable support for geom module (default=AUTO)") # Check with HAVE_GEOM -set(ENABLE_INT128 "AUTO" CACHE STRING "Enable support for 128-bit integers (default=AUTO)") +set(ENABLE_INT128 "AUTO" CACHE STRING "Enable support for 128-bit integers (default=AUTO)") # Check with HAVE_HGE set(ENABLE_LIDAR "AUTO" CACHE STRING "Enable support for LiDAR data (default=AUTO)") # Check with HAVE_LIDAR -set(ENABLE_MAPI "YES" CACHE STRING "Enable MAPI (default=YES)") -set(ENABLE_MONETDB5 "YES" CACHE STRING "Enable support for MonetDB5 (default=YES)") +set(ENABLE_MAPI "YES" CACHE STRING "Enable MAPI (default=YES)") # Check with HAVE_MAPI +set(ENABLE_MONETDB5 "YES" CACHE STRING "Enable support for MonetDB5 (default=YES)") # Check with HAVE_MONETDB5 set(ENABLE_NETCDF "AUTO" CACHE STRING "Enable support for netcdf (default=AUTO)") # Check with HAVE_NETCDF set(ENABLE_ODBC "AUTO" CACHE STRING "Compile the MonetDB ODBC driver (default=AUTO)") # Check with HAVE_ODBC set(ENABLE_PY3INTEGRATION "AUTO" CACHE STRING "enable support for Python 3 integration into MonetDB (default=AUTO)") # Check with HAVE_LIBPY3 @@ -97,12 +97,13 @@ set(ENABLE_RINTEGRATION "AUTO" CACHE STR set(ENABLE_SAMTOOLS "AUTO" CACHE STRING "Include Samtools support (default=AUTO)") # Check with HAVE_SAMTOOLS set(ENABLE_SANITIZER "NO" CACHE STRING "Enable support for the GCC address sanitizer (default=NO)") set(ENABLE_SHP "AUTO" CACHE STRING "Enable support for ESRI Shapefiles (default=AUTO)") # Check with HAVE_SHP -set(ENABLE_SQL "YES" CACHE STRING "Enable support for MonetDB/SQL (default=YES)") -set(ENABLE_STATIC_ANALYSIS "NO" CACHE STRING "Configure for static code analysis (use only if you know what you are doing)") +set(ENABLE_SQL "YES" CACHE STRING "Enable support for MonetDB/SQL (default=YES)") # Check with HAVE_SQL +set(ENABLE_STATIC_ANALYSIS "NO" CACHE STRING "Configure for static code analysis (use only if you know what you are doing)") # Check with STATIC_CODE_ANALYSIS set(ENABLE_STRICT "${DFT_STRICT}" CACHE STRING "Enable strict compiler flags (default=YES for development sources, NO for tarball instalation)")
MonetDB: cmake-fun - Further cleanup:
Changeset: dd298a028f55 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dd298a028f55 Modified Files: CMakeLists.txt clients/mapiclient/eventparser.c clients/mapiclient/mclient.c clients/mapiclient/msqldump.c clients/mapilib/mapi.c clients/odbc/driver/ODBCConvert.c common/stream/stream.c common/utils/msabaoth.c gdk/gdk_posix.h gdk/gdk_utils.c geom/monetdb5/geom.c monetdb5/modules/kernel/alarm.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/mal_mapi.c monetdb_config.h.in tools/merovingian/daemon/client.c tools/merovingian/daemon/connections.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/proxy.c tools/merovingian/utils/control.c Branch: cmake-fun Log Message: Further cleanup: - Compilation fixes on Windows. - Removed unecessary tests for POSIX functions available in all supported non-Windows platforms. diffs (truncated from 747 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,7 +165,7 @@ function(MT_addCompilerFlag REGEX_EXPRES endfunction() if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT ${CMAKE_C_COMPILER_ID} STREQUAL "Intel") - add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE) + add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE) # required for GNU extensions set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") @@ -478,7 +478,6 @@ include(FindExtraLibraries) # Header files check_include_file("libintl.h" HAVE_LIBINTL_H) # Some Linux distributions don't have it check_include_file("pthread.h" HAVE_PTHREAD_H) # Distinguish between posix thread and win32 thread libraries -check_include_file("sys/mman.h" HAVE_SYS_MMAN_H) # TODO check this # C types existence cmake_push_check_state() @@ -516,22 +515,13 @@ cmake_pop_check_state() # Non portable functions check_symbol_exists("accept4" "sys/types.h;sys/socket.h" HAVE_ACCEPT4) # Some libc versions on Linux distributions don't have it -check_symbol_exists("asctime_r" "time.h" HAVE_ASCTIME_R) -check_symbol_exists("asctime_s" "time.h" HAVE_ASCTIME_S) -check_symbol_exists("ctime_r" "time.h" HAVE_CTIME_R) -check_symbol_exists("ctime_s" "time.h" HAVE_CTIME_S) check_symbol_exists("fallocate" "fcntl.h" HAVE_FALLOCATE) # Linux specific, in the future, it might be ported to other platforms -check_symbol_exists("fcntl" "unistd.h;fcntl.h" HAVE_FCNTL) # Windows has the fcntl.h header, but not the function -check_symbol_exists("localtime_r" "time.h" HAVE_LOCALTIME_R) -check_symbol_exists("localtime_s" "time.h" HAVE_LOCALTIME_S) -check_symbol_exists("madvise" "sys/mman.h" HAVE_MADVISE) # TODO check this +check_symbol_exists("madvise" "sys/mman.h" HAVE_MADVISE) # The Linux kernel can be compiled without madvise check_symbol_exists("mremap" "sys/mman.h" HAVE_MREMAP) # Linux specific, in the future, it might be ported to other platforms check_symbol_exists("pipe2" "fcntl.h;unistd.h" HAVE_PIPE2) # Some libc versions on Linux distributions don't have it check_symbol_exists("posix_fallocate" "fcntl.h" HAVE_POSIX_FALLOCATE) # Some POSIX systems don't have it -check_symbol_exists("posix_madvise" "sys/mman.h" HAVE_POSIX_MADVISE) # TODO check this +check_symbol_exists("posix_madvise" "sys/mman.h" HAVE_POSIX_MADVISE) # The Linux kernel can be compiled without madvise, and posix_madvise is implemented using madvise check_symbol_exists("semtimedop" "sys/types.h;sys/ipc.h;sys/sem.h" HAVE_SEMTIMEDOP) # Some libc versions on Linux distributions don't have it -check_symbol_exists("strtok_r" "string.h" HAVE_STRTOK_R) -check_symbol_exists("strtok_s" "string.h" HAVE_STRTOK_S) if(${ENABLE_GDK} STREQUAL "NO") if(${ENABLE_MONETDB5} STREQUAL "YES") diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c --- a/clients/mapiclient/eventparser.c +++ b/clients/mapiclient/eventparser.c @@ -220,12 +220,10 @@ keyvalueparser(char *txt, EventRecord *e } sec = atol(val); -#if defined(HAVE_LOCALTIME_R) - (void)localtime_r(, _time); -#elif defined(HAVE_LOCALTIME_S) +#ifdef NATIVE_WIN32 (void)localtime_s(_time, ); #else - curr_time = *localtime(); + (void)localtime_r(, _time); #endif ev->time = malloc(DATETIME_CHAR_LENGTH*sizeof(char)); snprintf(ev->time, DATETIME_CHAR_LENGTH, "%d/%02d/%02d %02d:%02d:%02d.%s", diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -158,7 +158,7 @@ gettime(void) { /* Return the time in milliseconds since an epoch. The epoch is roughly the time this program started. */ -#ifdef
MonetDB: cmake-fun - Further cleanup:
(void) argv; return 0; } diff --git a/cmake/TestLargeFiles.c.cmake.in b/cmake/TestLargeFiles.c.cmake.in deleted file mode 100644 --- a/cmake/TestLargeFiles.c.cmake.in +++ /dev/null @@ -1,24 +0,0 @@ -// From https://github.com/Framstag/libosmscout/pull/251/files#diff-40f8e3cdfc36152528d5235258332447 -#cmakedefine _LARGEFILE_SOURCE -#cmakedefine _LARGE_FILES -#cmakedefine _FILE_OFFSET_BITS @_FILE_OFFSET_BITS@ -#cmakedefine _DARWIN_USE_64_BIT_INODE - -#include -#include -#include - -int main(int argc, char **argv) -{ - /* Cause a compile-time error if off_t is smaller than 64 bits, - * and make sure we have ftello / fseeko. - */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[ (LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1 ]; - FILE *fp = fopen(argv[0],"r"); - off_t offset = ftello( fp ); - - fseeko( fp, offset, SEEK_CUR ); - fclose(fp); - return 0; -} diff --git a/cmake/TestLargeFiles.cmake b/cmake/TestLargeFiles.cmake --- a/cmake/TestLargeFiles.cmake +++ b/cmake/TestLargeFiles.cmake @@ -1,133 +1,28 @@ -# From https://github.com/Framstag/libosmscout/pull/251/files#diff-40f8e3cdfc36152528d5235258332447 -# - Define macro to check large file support -# -# OPJ_TEST_LARGE_FILES(VARIABLE) +# Adapted from https://github.com/Framstag/libosmscout/pull/251/files#diff-40f8e3cdfc36152528d5235258332447 +# Define macro to check large file support # -# VARIABLE will be set to true if off_t is 64 bits, and fseeko/ftello present. -# This macro will also defines the necessary variable enable large file support, for instance -# _LARGE_FILES -# _LARGEFILE_SOURCE -# _FILE_OFFSET_BITS 64 -# _DARWIN_USE_64_BIT_INODE -# OPJ_HAVE_FSEEKO -# -# However, it is YOUR job to make sure these defines are set in a #cmakedefine so they -# end up in a config.h file that is included in your source if necessary! +# This cmake macro defines the C macro _FILE_OFFSET_BITS to 64, if it is the case. # -# Adapted from Gromacs project (http://www.gromacs.org/) -# by Julien Malik adn Pedro Ferreira - -macro(OPJ_TEST_LARGE_FILES VARIABLE) - if(NOT DEFINED ${VARIABLE}) +# Adapted from Gromacs project (http://www.gromacs.org/) by Julien Malik and Pedro Ferreira - # On most platforms it is probably overkill to first test the flags for 64-bit off_t, - # and then separately fseeko. However, in the future we might have 128-bit filesystems - # (ZFS), so it might be dangerous to indiscriminately set e.g. _FILE_OFFSET_BITS=64. - +macro(OPJ_TEST_LARGE_FILES) + if(NOT FILE64_OK) message(STATUS "Checking for 64-bit off_t") - # First check without any special flags - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/cmake/TestFileOffsetBits.c") + try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" "${CMAKE_MODULE_PATH}/TestFileOffsetBits.c") if(FILE64_OK) message(STATUS "Checking for 64-bit off_t - present") - endif() - - if(NOT FILE64_OK) - # Test with _FILE_OFFSET_BITS=64 - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/cmake/TestFileOffsetBits.c" - COMPILE_DEFINITIONS "-D_FILE_OFFSET_BITS=64" ) + else() + # Test with _FILE_OFFSET_BITS=64. In the future we might have 128-bit filesystems (ZFS), so it might be + # dangerous to indiscriminately set _FILE_OFFSET_BITS=64. + try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" "${CMAKE_MODULE_PATH}/TestFileOffsetBits.c" + COMPILE_DEFINITIONS "-D_FILE_OFFSET_BITS=64") if(FILE64_OK) + set(_FILE_OFFSET_BITS 64 CACHE INTERNAL "Result of test for needed _FILE_OFFSET_BITS=64") message(STATUS "Checking for 64-bit off_t - present with _FILE_OFFSET_BITS=64") - set(_FILE_OFFSET_BITS 64) - endif() - endif() - - if(NOT FILE64_OK) - # Test with _LARGE_FILES - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/cmake/TestFileOffsetBits.c" - COMPILE_DEFINITIONS "-D_LARGE_FILES" ) - if(FILE64_OK) - message(STATUS "Checking for 64-bit off_t - present with _LARGE
MonetDB: Apr2019 - Approved missing test
Changeset: a3a2f049a9ab for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a3a2f049a9ab Modified Files: sql/test/merge-partitions/Tests/mergepart28.stable.err Branch: Apr2019 Log Message: Approved missing test diffs (12 lines): diff --git a/sql/test/merge-partitions/Tests/mergepart28.stable.err b/sql/test/merge-partitions/Tests/mergepart28.stable.err --- a/sql/test/merge-partitions/Tests/mergepart28.stable.err +++ b/sql/test/merge-partitions/Tests/mergepart28.stable.err @@ -30,7 +30,7 @@ stderr of test 'mergepart28` in director MAPI = (monetdb) /var/tmp/mtest-21060/.s.monetdb.33036 QUERY = COPY 1347 RECORDS INTO ratings FROM E'/home/ferreira/repositories/monetdb-test-data/netflix_data/movies.csv' USING DELIMITERS ',',E'\n','"'; --error -ERROR = !INSERT: the insert violates the partition range of values +ERROR = !INSERT: the insert violates the partition range (NB higher limit exclusive) of values CODE = M0M29 MAPI = (monetdb) /var/tmp/mtest-28639/.s.monetdb.36178 QUERY = COPY LOADER INTO ratings FROM tryaloader(); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: translate-scripts - Removed unnecessary files/
Changeset: 01ad7b7438ca for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=01ad7b7438ca Removed Files: monetdb5/mal/mal_signatures sql/scripts/70_storagemodel.sql.h sql/scripts/71_statistics.sql.h sql/scripts/90_generator.sql.h sql/scripts/90_generator_hge.sql.h Branch: translate-scripts Log Message: Removed unnecessary files/ diffs (74 lines): diff --git a/monetdb5/mal/mal_signatures b/monetdb5/mal/mal_signatures deleted file mode 100644 --- a/monetdb5/mal/mal_signatures +++ /dev/null @@ -1,9 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. - */ - -{ "welcome", "io.print('Hello')"} diff --git a/sql/scripts/70_storagemodel.sql.h b/sql/scripts/70_storagemodel.sql.h deleted file mode 100644 --- a/sql/scripts/70_storagemodel.sql.h +++ /dev/null @@ -1,10 +0,0 @@ -/* -* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this -* file, You can obtain one at http://mozilla.org/MPL/2.0/. -* -* Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. -*/ - -// This file was generated automatically with sql2h.py. Do not edit this file directly. -{ "70_storagemodel", "\n\n\ncreate function sys.\"storage\"()\nreturns table (\n\t\"schema\" varchar(1024),\n\t\"table\" varchar(1024),\n\t\"column\" varchar(1024),\t\t\"type\" varchar(1024),\n\t\"mode\" varchar(15),\n\tlocation varchar(1024),\n\t\"count\" bigint,\n\ttypewidth int,\n\tcolumnsize bigint,\n\theapsize bigint,\n\thashes bigint,\n\tphash boolean,\n\t\"imprints\" bigint,\n\tsorted boolean,\n\trevsorted boolean,\n\t\"unique\" boolean,\n\torderidx bigint\n)\nexternal name sql.\"storage\";\n\ncreate view sys.\"storage\" as\nselect * from sys.\"storage\"()\n where (\"schema\", \"table\") in (\n\tSELECT sch.\"name\", tbl.\"name\"\n\t FROM sys.\"tables\" AS tbl JOIN sys.\"schemas\" AS sch ON tbl.schema_id = sch.id\n\t WHERE tbl.\"system\" = FALSE)\norder by \"schema\", \"table\", \"column\";\n\ncreate view sys.\"tablestorage\" as\nselect \"schema\", \"table\",\n\tmax(\"count\") as \"rowcount\",\n\tcount(*) as \"storages\",\n\tsum(columnsize) as columnsize,\n\tsum(heapsize) as heapsize,\n\tsum(hashes) as hashsize,\n\tsum(\"imprints\") as imprintsize,\n\tsum(orderidx) as orderidxsize\n from sys.\"storage\"\ngroup by \"schema\", \"table\"\norder by \"schema\", \"table\";\n\ncreate view sys.\"schemastorage\" as\nselect \"schema\",\n\tcount(*) as \"storages\",\n\tsum(columnsize) as columnsize,\n\tsum(heapsize) as heapsize,\n\tsum(hashes) as hashsize,\n\tsum(\"imprints\") as imprintsize,\n\tsum(orderidx) as orderidxsize\n from sys.\"storage\"\ngroup by \"schema\"\norder by \"schema\";\n\ncreate function sys.\"storage\"(sname varchar(1024))\nreturns table (\n\t\"schema\" varchar(1024),\n\t\"table\" varchar(1024),\n\t\"column\" varchar(1024),\n\t\"type\" varchar(1024),\n\t\"mode\" varchar(15),\n\tlocation varchar(1024),\n\t\"count\" bigint,\n\ttypewidth int,\n\tcolumnsize bigint,\n\theapsize bigint,\n\thashes bigint,\n\tphash boolean,\n\t\"imprints\" bigint,\n\tsorted boolean,\n\trevsorted boolean,\n\t\"unique\" boolean,\n\torderidx bigint\n)\nexternal name sql. \"storage\";\n\ncreate function sys.\"storage\"(sname varchar(1024), tname varchar(1024))\nreturns table (\n\t\"schema\" varchar(1024),\n\t\"table\" varchar(1024),\n\t\"column\" varchar(1024),\n\t\"type\" varchar(1024),\n\t\"mode\" varchar(15),\n\tlocation varchar(1024),\n\t\"count\" bigint,\n\ttypewidth int,\n\tcolumnsize bigint,\n\theapsize bigint,\n\thashes bigint,\n\tphash boolean,\n\t\"imprints\" bigint,\n\tsorted boolean,\n\trevsorted boolean,\n\t\"unique\" boolean,\n\torderidx bigint\n)\nexternal name sql.\"storage\";\n\ncreate function sys.\"storage\"(sname varchar(1024), tname varchar(1024), cname varchar(1024))\nreturns table (\n\t\"schema\" varchar(1024),\n\t\"table\" varchar(1024),\n\t\"column\" varchar(1024),\n\t\"type\" varchar(1024),\n\t\"mode\" varchar(15),\n\tlocation varchar(1024),\n\t\"count\" bigint,\n\ttypewidth int,\n\tcolumnsize bigint,\n\theapsize bigint,\n\thashes bigint,\n\tphash boolean,\n\t\"imprints\" bigint,\n\tsorted boolean,\n\trevsorted boolean,\n\t\ "unique\" boolean,\n\torderidx bigint\n)\nexternal name sql.\"storage\";\n\n\ncreate table sys.storagemodelinput(\n\t\"schema\" varchar(1024) NOT NULL,\n\t\"table\" varchar(1024) NOT NULL,\n\t\"column\" varchar(1024) NOT NULL,\t\t\"type\" varchar(1024) NOT NULL,\n\ttypewidth int NOT NULL,\n\t\"count\" bigint NOT NULL,\t\t\"distinct\" bigint NOT NULL,\t\tatomwidth int NOT NULL,\t\t\treference boolean NOT NULL DEFAULT FALSE, \tsorted boolean,\t\t\t\t\"unique\" boolean,\t\t\tisacolumn boolean NOT NULL
MonetDB: translate-scripts - Merge features from port-monetdblit...
Changeset: dcac338362ea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dcac338362ea Modified Files: clients/Tests/exports.stable.out clients/mapiclient/dump.c clients/mapiclient/eventparser.h clients/mapiclient/mclient.c clients/mapiclient/mnc.c clients/mapiclient/msqldump.c clients/odbc/setup/drvcfg.h common/stream/stream.c common/stream/stream.h common/utils/mcrypt.c common/utils/msabaoth.c common/utils/mutils.c common/utils/mutils.h common/utils/muuid.c common/utils/prompt.c configure.ag gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_cross.c gdk/gdk_delta.c gdk/gdk_delta.h gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_interprocess.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_string.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_tm.c gdk/gdk_unique.c gdk/gdk_utils.c gdk/gdk_utils.h geom/lib/libgeom.c monetdb5/extras/rapi/rapi.c monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_client.c monetdb5/mal/mal_client.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_factory.c monetdb5/mal/mal_function.c monetdb5/mal/mal_function.h monetdb5/mal/mal_import.c monetdb5/mal/mal_import.h monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_interpreter.h monetdb5/mal/mal_linker.c monetdb5/mal/mal_linker.h monetdb5/mal/mal_listing.c monetdb5/mal/mal_listing.h monetdb5/mal/mal_module.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_private.h monetdb5/mal/mal_resolve.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_runtime.c monetdb5/mal/mal_runtime.h monetdb5/mal/mal_scenario.c monetdb5/mal/mal_session.c monetdb5/mal/mal_session.h monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/uuid.c monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/mal/groupby.c monetdb5/modules/mal/iterator.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/oltp.c monetdb5/modules/mal/orderidx.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/remote.h monetdb5/modules/mal/tokenizer.c monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_commonTerms.c monetdb5/optimizer/opt_constants.c monetdb5/optimizer/opt_dataflow.c monetdb5/optimizer/opt_emptybind.c monetdb5/optimizer/opt_evaluate.c monetdb5/optimizer/opt_garbageCollector.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_inline.c monetdb5/optimizer/opt_jit.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_oltp.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_projectionpath.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_remoteQueries.c monetdb5/optimizer/opt_reorder.c monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.c monetdb5/scheduler/run_memo.c monetdb5/scheduler/run_pipeline.c sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/pyapi/pyapi.c sql/backends/monet5/UDF/udf/Makefile.ag sql/backends/monet5/generator.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_embedded.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_orderidx.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_scenario.h sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_transaction.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/lidar/lidar.c sql/backends/monet5/vaults/netcdf/netcdf.c
MonetDB: port-monetdblite - Closing port-monetdblite branch.
Changeset: ff9ad654efa2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ff9ad654efa2 Modified Files: sql/backends/monet5/sql_upgrades.c Branch: port-monetdblite Log Message: Closing port-monetdblite branch. diffs (29 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -1217,6 +1217,7 @@ sql_update_mar2018_sp1(Client c, mvc *sq return err; /* usually MAL_SUCCEED */ } +#ifndef HAVE_EMBEDDED static str sql_update_remote_tables(Client c, mvc *sql) { @@ -1305,6 +1306,7 @@ sql_update_remote_tables(Client c, mvc * GDKfree(buf); return err; } +#endif static str sql_replace_Mar2018_ids_view(Client c, mvc *sql) @@ -1427,7 +1429,9 @@ sql_update_aug2018(Client c, mvc *sql) err = SQLstatementIntern(c, , "update", 1, 0, NULL); if (err) goto bailout; +#ifndef HAVE_EMBEDDED err = sql_update_remote_tables(c, sql); +#endif bailout: GDKfree(buf); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Don't set in the force to the cache a non-e...
Changeset: 4fe27f66ac3e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4fe27f66ac3e Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Don't set in the force to the cache a non-existent variable. diffs (21 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,7 +67,7 @@ if(NOT MSVC AND NOT ${CMAKE_C_COMPILER_I endif() if(NOT CMAKE_BUILD_TYPE) # Set default build options message(STATUS "Setting build type to Debug as none was selected") - set(CMAKE_BUILD_TYPE Debug CACHE STRING "The type of build" FORCE) + set(CMAKE_BUILD_TYPE Debug CACHE STRING "The type of build") endif() # Extensions to use (please add to the OPTIONS_LIST bellow whenever a new option is added) @@ -92,7 +92,7 @@ set(ENABLE_STATIC_ANALYSIS "NO" CACHE ST set(ENABLE_STRICT "${DFT_STRICT}" CACHE STRING "Enable strict compiler flags (default=YES for development sources, NO for tarball instalation)") set(ENABLE_TESTING "AUTO" CACHE STRING "Enable support for testing (default=AUTO)") # Check with HAVE_TESTING -# Optional extra libraries (please add to the OPTIONS_LIST bellow whenever a new option is added) +# Extra libraries (please add to the OPTIONS_LIST bellow whenever a new option is added) set(WITH_BZ2 "AUTO" CACHE STRING "Include bz2 support (default=AUTO)") # Check with HAVE_LIBLZMA set(WITH_CURL "AUTO" CACHE STRING "Include cURL support (default=AUTO)") # Check with HAVE_CURL set(WITH_LIBLZMA "AUTO" CACHE STRING "Include liblzma support (default=AUTO)") # Check with HAVE_LIBLZMA ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: translate-scripts - Disable features on MonetDBLite.
Changeset: 1a1b8c620870 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1a1b8c620870 Modified Files: monetdb5/mal/mal_embedded.c sql/backends/monet5/sql_embedded.c sql/backends/monet5/sql_upgrades.c sql/scripts/sql_scripts.c Branch: translate-scripts Log Message: Disable features on MonetDBLite. diffs (truncated from 355 to 300 lines): diff --git a/monetdb5/mal/mal_embedded.c b/monetdb5/mal/mal_embedded.c --- a/monetdb5/mal/mal_embedded.c +++ b/monetdb5/mal/mal_embedded.c @@ -24,7 +24,9 @@ malSignatures malModules[MAXMODULES] = { // Include the MAL definitions files in the proper order. +#ifndef NDEBUG #include "mdb.mal.h" +#endif #include "alarm.mal.h" #include "mmath.mal.h" #include "streams.mal.h" @@ -40,51 +42,64 @@ malSignatures malModules[MAXMODULES] = #include "mkey.mal.h" #include "blob.mal.h" +#include "str.mal.h" +#include "mtime.mal.h" +#ifndef HAVE_EMBEDDED #include "color.mal.h" -#include "str.mal.h" #include "url.mal.h" #include "uuid.mal.h" #include "json.mal.h" #include "json_util.mal.h" -#include "mtime.mal.h" #include "inet.mal.h" #include "identifier.mal.h" #include "xml.mal.h" -#include "batxml.mal.h" +#endif #include "batmmath.mal.h" #include "batmtime.mal.h" #include "batstr.mal.h" +#ifndef HAVE_EMBEDDED #include "batcolor.mal.h" +#include "batxml.mal.h" +#endif #include "pcre.mal.h" +#ifndef HAVE_EMBEDDED #include "clients.mal.h" +#endif #include "bbp.mal.h" #include "mal_io.mal.h" #include "manifold.mal.h" +#ifndef HAVE_EMBEDDED #include "factories.mal.h" #include "remote.mal.h" +#endif #include "mat.mal.h" #include "inspect.mal.h" #include "manual.mal.h" #include "language.mal.h" +#ifndef HAVE_EMBEDDED #include "profiler.mal.h" #include "querylog.mal.h" #include "sysmon.mal.h" +#endif #include "sample.mal.h" #include "optimizer.mal.h" #include "iterator.mal.h" +#ifndef HAVE_EMBEDDED #include "txtsim.mal.h" #include "tokenizer.mal.h" - #include "mal_mapi.mal.h" +#endif #include "oltp.mal.h" #include "microbenchmark.mal.h" +#ifndef HAVE_EMBEDDED #include "wlc.mal.h" +#endif #ifdef HAVE_HGE #include "00_aggr_hge.mal.h" @@ -102,9 +117,11 @@ malSignatures malModules[MAXMODULES] = #include "01_batcalc.mal.h" #include "01_calc.mal.h" +#ifndef HAVE_EMBEDDED #include "run_adder.mal.h" #include "run_isolate.mal.h" #include "run_memo.mal.h" +#endif { 0, 0} }; diff --git a/sql/backends/monet5/sql_embedded.c b/sql/backends/monet5/sql_embedded.c --- a/sql/backends/monet5/sql_embedded.c +++ b/sql/backends/monet5/sql_embedded.c @@ -26,7 +26,9 @@ malSignatures sqlMalModules[] = #include "sql_aggr_lng.mal.h" #include "sql_aggr_flt.mal.h" #include "sql_aggr_dbl.mal.h" +#ifndef HAVE_EMBEDDED #include "sql_inspect.mal.h" +#endif #include "sql_generator.mal.h" #ifdef HAVE_HGE @@ -39,7 +41,9 @@ malSignatures sqlMalModules[] = #include "sqlcatalog.mal.h" #include "sql_transaction.mal.h" +#ifndef HAVE_EMBEDDED #include "wlr.mal.h" +#endif #include "sql.mal.h" {NULL, NULL} }; diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -260,6 +260,7 @@ sql_update_hugeint(Client c, mvc *sql) } #endif +#ifndef HAVE_EMBEDDED static str sql_update_geom(Client c, mvc *sql, int olddb) { @@ -308,6 +309,7 @@ sql_update_geom(Client c, mvc *sql, int GDKfree(buf); return err; /* usually MAL_SUCCEED */ } +#endif static str sql_update_jul2017(Client c, mvc *sql) @@ -331,6 +333,7 @@ sql_update_jul2017(Client c, mvc *sql) pos += snprintf(buf + pos, bufsize - pos, "update sys.functions set side_effect = false where name in ('like', 'ilike') and schema_id = (select id from sys.schemas where name = 'sys');\n"); +#ifndef HAVE_EMBEDDED /* 25_debug.sql */ pos += snprintf(buf + pos, bufsize - pos, "drop function sys.malfunctions;\n" @@ -348,6 +351,7 @@ sql_update_jul2017(Client c, mvc *sql) "drop procedure profiler.setpoolsize;\n" "drop procedure profiler.setstream;\n" "update sys.functions set system = true where name in ('getlimit', 'setlimit') and schema_id = (select id from sys.schemas where name = 'profiler');\n"); +#endif /* 51_sys_schema_extensions.sql */ pos += snprintf(buf + pos, bufsize - pos, @@ -523,6 +527,7 @@ sql_update_jul2017_sp3(Client c, mvc *sq return err; } +#ifndef HAVE_EMBEDDED static str sql_update_mar2018_geom(Client c, mvc *sql, sql_table *t) { @@ -561,6 +566,7 @@ sql_update_mar2018_geom(Client c, mvc *s GDKfree(buf); return err; /* usually MAL_SUCCEED */ } +#endif static str sql_update_mar2018(Client c, mvc *sql) @@ -838,6 +844,7 @@ sql_update_mar2018(Client c, mvc *sql) " AND schema_id
MonetDB: cmake-fun - Merge with default.
Changeset: 67551d8ccb10 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=67551d8ccb10 Added Files: sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Darwin sql/test/Tests/50ways.sql sql/test/Tests/add_column_with_seq.sql sql/test/Tests/alter-sequence.sql sql/test/Tests/antiselect.sql sql/test/Tests/cast_str2num.sql sql/test/Tests/coalesce.sql sql/test/Tests/count.sql sql/test/Tests/crashme.sql sql/test/Tests/create_in_schema.sql sql/test/Tests/decimal.sql sql/test/Tests/decimal2.sql sql/test/Tests/default.sql sql/test/Tests/example-delete1.sql sql/test/Tests/example-delete2.sql sql/test/Tests/example-delete3.sql sql/test/Tests/example-drop.sql sql/test/Tests/example-queries.sql sql/test/Tests/example-rangeselect.sql sql/test/Tests/example-transaction.sql sql/test/Tests/example-update-view.sql sql/test/Tests/example-update1.sql sql/test/Tests/example-update2.sql sql/test/Tests/example-update3.sql sql/test/Tests/example.sql sql/test/Tests/function_syntax.sql sql/test/Tests/identifiers.sql sql/test/Tests/joins.sql sql/test/Tests/keys.sql sql/test/Tests/marcin1.sql sql/test/Tests/marcin2.sql sql/test/Tests/marcin3.sql sql/test/Tests/news.sql sql/test/Tests/null.sql sql/test/Tests/order_by_complex_exp.sql sql/test/Tests/order_by_simple_exp.sql sql/test/Tests/orderby_limit.sql sql/test/Tests/orderby_non_selection_column.sql sql/test/Tests/outerref_in_selection.sql sql/test/Tests/procedure_syntax.sql sql/test/Tests/psm.sql sql/test/Tests/rank.sql sql/test/Tests/restart-sequence.sql sql/test/Tests/round.sql sql/test/Tests/seq-default.sql sql/test/Tests/session_vars.sql sql/test/Tests/setoptimizer.sql sql/test/Tests/string.sql sql/test/Tests/table_function.sql sql/test/Tests/timezone.sql sql/test/Tests/zones.sql sql/test/Tests/zones2.sql sql/test/bugs/Tests/arith-bug-sf-949228.sql sql/test/bugs/Tests/autocommit_illegal_statements-bug-sf-953545.sql sql/test/bugs/Tests/case_cast-bug-sf-1019506.sql sql/test/bugs/Tests/case_parenthesis-bug-sf-1023056.sql sql/test/bugs/Tests/cast_bool2int-bug-sf-1000576.sql sql/test/bugs/Tests/cast_bool2int-bug-sf-951800.sql sql/test/bugs/Tests/cast_varchar2int-bug-sf-964165.sql sql/test/bugs/Tests/create_insert_select-bug-sf-900198.sql sql/test/bugs/Tests/create_insert_select_aggr-bug-1.sql sql/test/bugs/Tests/date_parsing-bug-sf-960166.sql sql/test/bugs/Tests/drop_foreignkey_selfreferencing.sql sql/test/bugs/Tests/escape_quote-bug-sf-1006469.sql sql/test/bugs/Tests/except-union-intersect-bug-sf-1146079.sql sql/test/bugs/Tests/extract_interval_bug-sf-1274088.sql sql/test/bugs/Tests/float_arith_cast2int-bug-sf-949255.sql sql/test/bugs/Tests/floor-bug-sf-967066.sql sql/test/bugs/Tests/foreignkey_leftjoin-bug-sf-854312.sql sql/test/bugs/Tests/groupby_having-bug-sf-947600.sql sql/test/bugs/Tests/groupby_having_charlength-bug-sf-943566.sql sql/test/bugs/Tests/innerjoin_between-bug-sf-960672.sql sql/test/bugs/Tests/innerjoin_multiple-bug-sf-943661.sql sql/test/bugs/Tests/insert_delete-bug-sf-904025.sql sql/test/bugs/Tests/insert_into_groupby-bug-sf-949135.sql sql/test/bugs/Tests/insert_into_select-bug-sf-978043.sql sql/test/bugs/Tests/insert_update_arith-bug-sf-900206.sql sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.sql sql/test/bugs/Tests/interval_data_commutative_add_bug-sf-1263928.sql sql/test/bugs/Tests/interval_parse_bug-sf-1263967.sql sql/test/bugs/Tests/like-bug-sf-1031435.sql sql/test/bugs/Tests/like-bug-sf-1043521.sql sql/test/bugs/Tests/numeric-bug-sf-952758.sql sql/test/bugs/Tests/object_name-bug-sf-985242.sql sql/test/bugs/Tests/primary_key-bug-sf-975308.sql sql/test/bugs/Tests/savepoint_release-bug-sf-953560.sql sql/test/bugs/Tests/savepoint_rollback-bug-sf-1023652.sql sql/test/bugs/Tests/savepoint_rollback-bug-sf-953553.sql sql/test/bugs/Tests/select_constant_from_where_1=1-bug-sf-1019529.sql sql/test/bugs/Tests/select_orderby_alias-bug-sf-1024615.sql sql/test/bugs/Tests/selectlist_subquery-sf-1208599.sql sql/test/bugs/Tests/start_transaction-bug-sf-952755.sql sql/test/bugs/Tests/subselect_ambigious_columns-bug-sf-949071.sql sql/test/bugs/Tests/subselect_column-bug-sf-951206.sql sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.sql
MonetDB: translate-scripts - Missing MT_rand calls and added MT_...
Changeset: 014355a5f749 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=014355a5f749 Modified Files: clients/mapilib/mapi.c common/utils/mutils.c common/utils/mutils.h gdk/gdk_bbp.c gdk/gdk_logger.c gdk/gdk_utils.c geom/lib/libgeom.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_resource.c monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/mal/mal_mapi.c sql/backends/monet5/sql_scenario.c tools/merovingian/daemon/discoveryrunner.c tools/merovingian/daemon/forkmserver.c tools/mserver/mserver5.c tools/mserver/shutdowntest.c Branch: translate-scripts Log Message: Missing MT_rand calls and added MT_fflush to not flush the container application stdout when MonetDBLite is running on silent mode. diffs (truncated from 303 to 300 lines): diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -2724,7 +2724,7 @@ mapi_reconnect(Mapi mid) } if (mid->trace) { MT_fprintf(stdout,"sending first request [%zu]:%s", sizeof(buf), buf); - fflush(stdout); + MT_flush(stdout); } len = strlen(buf); mnstr_write(mid->to, buf, 1, len); diff --git a/common/utils/mutils.c b/common/utils/mutils.c --- a/common/utils/mutils.c +++ b/common/utils/mutils.c @@ -512,6 +512,15 @@ MT_fprintf(FILE *fp, const char *format, return res; } +int +MT_flush(FILE *fp) +{ + int res = 0; + if (!MT_silent) + res = fflush(fp); + return res; +} + #ifdef HAVE_EMBEDDED_R extern int embedded_r_rand(void); #endif diff --git a/common/utils/mutils.h b/common/utils/mutils.h --- a/common/utils/mutils.h +++ b/common/utils/mutils.h @@ -84,5 +84,6 @@ mutils_export const char *mercurial_revi mutils_export void MT_fprintf_silent(bool silent); mutils_export int MT_fprintf(FILE *, _In_z_ _Printf_format_string_ const char *, ...) __attribute__((__format__(__printf__, 2, 3))); +mutils_export int MT_flush(FILE *); #endif /* _MUTILS_H_ */ diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -1690,7 +1690,7 @@ BBPdump(void) MT_fprintf(stderr, "# %d bats: mem=%zu, vm=%zu %d cached bats: mem=%zu, vm=%zu\n", n, mem, vm, nc, cmem, cvm); - fflush(stderr); + MT_flush(stderr); } /* diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1056,7 +1056,7 @@ logger_readlog(logger *lg, char *filenam t0 = time(NULL); if (lg->debug & 1) { MT_fprintf(stdout, "# Start reading the write-ahead log '%s'\n", filename); - fflush(stdout); + MT_flush(stdout); } while (err == LOG_OK && log_read_format(lg, )) { char *name = NULL; @@ -1071,7 +1071,7 @@ logger_readlog(logger *lg, char *filenam fpos = (lng) getfilepos(getFile(lg->log)); if (fpos >= 0) { MT_fprintf(stdout, "# still reading write-ahead log \"%s\" (%d%% done)\n", filename, (int) ((fpos * 100 + 50) / sb.st_size)); - fflush(stdout); + MT_flush(stdout); } } if ((l.flag >= LOG_INSERT && l.flag <= LOG_CLEAR) || l.flag == LOG_CREATE_ID || l.flag == LOG_USE_ID) { @@ -1220,7 +1220,7 @@ logger_readlog(logger *lg, char *filenam t0 = time(NULL); if (lg->debug & 1) { MT_fprintf(stdout, "# Finished reading the write-ahead log '%s'\n", filename); - fflush(stdout); + MT_flush(stdout); } GDKdebug = dbg; /* we cannot distinguish errors from incomplete transactions @@ -2259,7 +2259,7 @@ logger_create(int debug, const char *fn, return NULL; if (lg->debug & 1) { MT_fprintf(stdout, "# Started processing logs %s/%s version %d\n",fn,logdir,version); - fflush(stdout); + MT_flush(stdout); } if (logger_open(lg) != GDK_SUCCEED) { logger_destroy(lg); @@ -2272,7 +2272,7 @@ logger_create(int debug, const char *fn, logger_destroy(lg); return NULL; } - fflush(stdout); + MT_flush(stdout); if (lg->changes && (logger_restart(lg) != GDK_SUCCEED || logger_cleanup(lg) != GDK_SUCCEED)) { diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -1208,14 +1208,14 @@ GDKfatal(const char *format, ...) #endif { MT_fprintf(stderr, "%s\n", message); - fflush(stderr); + MT_flush(stderr); /* * Real errors should be
MonetDB: default - Cast sum aggregate to bigint, so no 128-bit o...
Changeset: 4e4e1b673cac for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4e4e1b673cac Modified Files: sql/test/subquery/Tests/all.sql sql/test/subquery/Tests/all.stable.out Branch: default Log Message: Cast sum aggregate to bigint, so no 128-bit output is required. diffs (98 lines): diff --git a/sql/test/subquery/Tests/all.sql b/sql/test/subquery/Tests/all.sql --- a/sql/test/subquery/Tests/all.sql +++ b/sql/test/subquery/Tests/all.sql @@ -62,15 +62,15 @@ SELECT i, i <> ANY(SELECT i FROM integer -- 3, false -- subqueries in GROUP BY clause -SELECT i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL) AS k, SUM(i) FROM integers GROUP BY k ORDER BY k; +SELECT i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL) AS k, CAST(SUM(i) AS BIGINT) FROM integers GROUP BY k ORDER BY k; -- null, null -- false, 3 -- true, 3 -SELECT SUM(i) FROM integers GROUP BY (i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL)) ORDER BY 1; -- NULL, 3, 3 -SELECT i >= ALL(SELECT MIN(i) FROM integers WHERE i IS NOT NULL) AS k, SUM(i) FROM integers GROUP BY k ORDER BY k; +SELECT CAST(SUM(i) AS BIGINT) FROM integers GROUP BY (i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL)) ORDER BY 1; -- NULL, 3, 3 +SELECT i >= ALL(SELECT MIN(i) FROM integers WHERE i IS NOT NULL) AS k, CAST(SUM(i) AS BIGINT) FROM integers GROUP BY k ORDER BY k; -- NULL, NULL -- true, 6 -SELECT i, SUM(CASE WHEN (i >= ALL(SELECT i FROM integers WHERE i=2)) THEN 1 ELSE 0 END) FROM integers GROUP BY i ORDER BY i; +SELECT i, CAST(SUM(CASE WHEN (i >= ALL(SELECT i FROM integers WHERE i=2)) THEN 1 ELSE 0 END) AS BIGINT) FROM integers GROUP BY i ORDER BY i; -- null, 0 -- 1, 0 -- 2, 1 diff --git a/sql/test/subquery/Tests/all.stable.out b/sql/test/subquery/Tests/all.stable.out --- a/sql/test/subquery/Tests/all.stable.out +++ b/sql/test/subquery/Tests/all.stable.out @@ -118,8 +118,8 @@ stdout of test 'all` in directory 'sql/t [ 2] [ 3] #SELECT i, i <> ALL(SELECT i FROM integers WHERE i>10) FROM integers ORDER BY i; -% .integers, .L11 # table_name -% i, L11 # name +% .integers, .L13 # table_name +% i, L13 # name % int, boolean # type % 1, 5 # length [ NULL,true] @@ -136,8 +136,8 @@ stdout of test 'all` in directory 'sql/t [ 2, false ] [ 3, false ] #SELECT i, i = ANY(SELECT i FROM integers WHERE i>10) FROM integers ORDER BY i; -% .integers, .L11 # table_name -% i, L11 # name +% .integers, .L13 # table_name +% i, L13 # name % int, boolean # type % 1, 5 # length [ NULL,false ] @@ -180,33 +180,33 @@ stdout of test 'all` in directory 'sql/t [ 1, false ] [ 2, false ] [ 3, false ] -#SELECT i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL) AS k, SUM(i) FROM integers GROUP BY k ORDER BY k; -% sys.L6, sys.L10 # table_name -% k, L10 # name -% boolean, hugeint # type +#SELECT i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL) AS k, CAST(SUM(i) AS BIGINT) FROM integers GROUP BY k ORDER BY k; +% sys.L6, sys.L11 # table_name +% k, L11 # name +% boolean, bigint # type % 5, 1 # length [ NULL,NULL] [ false, 3 ] [ true,3 ] -#SELECT SUM(i) FROM integers GROUP BY (i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL)) ORDER BY 1; -- NULL, 3, 3 -% sys.L7 # table_name -% L7 # name -% hugeint # type +#SELECT CAST(SUM(i) AS BIGINT) FROM integers GROUP BY (i >= ALL(SELECT i FROM integers WHERE i IS NOT NULL)) ORDER BY 1; -- NULL, 3, 3 +% sys.L10 # table_name +% L10 # name +% bigint # type % 1 # length [ NULL ] [ 3] [ 3] -#SELECT i >= ALL(SELECT MIN(i) FROM integers WHERE i IS NOT NULL) AS k, SUM(i) FROM integers GROUP BY k ORDER BY k; -% sys.L5, sys.L7 # table_name -% k, L7 # name -% boolean, hugeint # type +#SELECT i >= ALL(SELECT MIN(i) FROM integers WHERE i IS NOT NULL) AS k, CAST(SUM(i) AS BIGINT) FROM integers GROUP BY k ORDER BY k; +% sys.L5, sys.L10 # table_name +% k, L10 # name +% boolean, bigint # type % 5, 1 # length [ NULL,NULL] [ true,6 ] -#SELECT i, SUM(CASE WHEN (i >= ALL(SELECT i FROM integers WHERE i=2)) THEN 1 ELSE 0 END) FROM integers GROUP BY i ORDER BY i; -% sys.integers,sys.L7 # table_name -% i, L7 # name -% int, hugeint # type +#SELECT i, CAST(SUM(CASE WHEN (i >= ALL(SELECT i FROM integers WHERE i=2)) THEN 1 ELSE 0 END) AS BIGINT) FROM integers GROUP BY i ORDER BY i; +% sys.integers,sys.L10 # table_name +% i, L10 # name +% int, bigint # type % 1, 1 # length [ NULL,0 ] [ 1, 0 ] ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Merge with default.
Changeset: 2e3135307572 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e3135307572 Removed Files: monetdb5/modules/mal/Tests/remote01.malC monetdb5/modules/mal/Tests/remote01.stable.err monetdb5/modules/mal/Tests/remote01.stable.out monetdb5/modules/mal/Tests/remote02.malC monetdb5/modules/mal/Tests/remote02.stable.err monetdb5/modules/mal/Tests/remote02.stable.out monetdb5/modules/mal/Tests/remote03.malC monetdb5/modules/mal/Tests/remote03.stable.err monetdb5/modules/mal/Tests/remote03.stable.out monetdb5/modules/mal/Tests/remote04.malC monetdb5/modules/mal/Tests/remote04.stable.err monetdb5/modules/mal/Tests/remote04.stable.out monetdb5/modules/mal/Tests/remote06.malC monetdb5/modules/mal/Tests/remote06.stable.err monetdb5/modules/mal/Tests/remote06.stable.out monetdb5/modules/mal/Tests/remote07.malC monetdb5/modules/mal/Tests/remote07.stable.err monetdb5/modules/mal/Tests/remote07.stable.out monetdb5/modules/mal/Tests/remote08.malC monetdb5/modules/mal/Tests/remote08.stable.err monetdb5/modules/mal/Tests/remote08.stable.out monetdb5/modules/mal/Tests/remote09.malC monetdb5/modules/mal/Tests/remote09.stable.err monetdb5/modules/mal/Tests/remote09.stable.out monetdb5/modules/mal/Tests/remote10.malC monetdb5/modules/mal/Tests/remote10.stable.err monetdb5/modules/mal/Tests/remote10.stable.out monetdb5/modules/mal/Tests/remote11.malC monetdb5/modules/mal/Tests/remote11.stable.err monetdb5/modules/mal/Tests/remote11.stable.out monetdb5/modules/mal/Tests/remote12.malC monetdb5/modules/mal/Tests/remote12.stable.err monetdb5/modules/mal/Tests/remote12.stable.out monetdb5/modules/mal/Tests/remote13.malC monetdb5/modules/mal/Tests/remote13.stable.err monetdb5/modules/mal/Tests/remote13.stable.out monetdb5/modules/mal/Tests/remote80.malC monetdb5/modules/mal/Tests/remote88.malC monetdb5/modules/mal/Tests/remote88.stable.err monetdb5/modules/mal/Tests/remote88.stable.out monetdb5/modules/mal/Tests/remote99.malC monetdb5/modules/mal/Tests/remote99.stable.err monetdb5/modules/mal/Tests/remote99.stable.out monetdb5/modules/mal/Tests/sabaoth00.malC monetdb5/modules/mal/Tests/sabaoth01.malC monetdb5/modules/mal/Tests/sabaoth01.stable.err monetdb5/modules/mal/Tests/sabaoth01.stable.out Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows monetdb5/mal/mal.c monetdb5/mal/mal_authorize.c monetdb5/mal/mal_client.c monetdb5/mal/mal_session.c monetdb5/modules/mal/Tests/All monetdb5/modules/mal/Tests/clients01.stable.out monetdb5/modules/mal/clients.c sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_scenario.c sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out.single sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out sql/test/mapi/Tests/sql_int128.stable.out.int128
MonetDB: cmake-fun - Added documentation for cmake generators us...
Changeset: 1f75d7ad7674 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f75d7ad7674 Added Files: monetdb5/tools/monetdb.c Modified Files: CMakeLists.txt CMakeReadme.txt monetdb5/tools/CMakeLists.txt Branch: cmake-fun Log Message: Added documentation for cmake generators used so far. Also made small fix for Xcode project build. diffs (159 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -752,7 +752,7 @@ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}" CACHE STRING "MinSizeRel flags" FORCE) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "Release flags" FORCE) set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}" CACHE STRING "RelWithDebugInfo flags" FORCE) -set(CMAKE_C_LINK_FLAGS "${LINK_OPTIONS}" CACHE STRING "Link flags for all builds" FORCE) # This variable is depreacted but still used +set(CMAKE_C_LINK_FLAGS "${LINK_OPTIONS}" CACHE STRING "Link flags for all builds" FORCE) # This variable is deprecated but still used set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}" CACHE STRING "Shared library module link options for all builds" FORCE) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" CACHE STRING "Shared library link options for all builds" FORCE) set(LINK_OPTIONS "${LINK_OPTIONS}" CACHE STRING "Link options for all builds" FORCE) diff --git a/CMakeReadme.txt b/CMakeReadme.txt --- a/CMakeReadme.txt +++ b/CMakeReadme.txt @@ -1,4 +1,4 @@ -Cmake 3.1 is required on Windows, On all other platforms, cmake 3.0 suffices. +cmake 3.7 is required on Windows (FindOpenSSL script), while on UNIX platforms cmake 3.0 suffices. On CentOS 6, enable epel repository, then install cmake3 package. While running the cmake command set internal variables to change the build properties in the form -D= @@ -15,6 +15,12 @@ CMAKE_MODULE_PATH - Location of custom C CMAKE_SHARED_LINKER_FLAGS - Linker options for shared libraries LINK_OPTIONS - Linker options for translation units for all builds +Available build types: +- Debug (default, use -DCMAKE_BUILD_TYPE=... to override) +- Release +- RelWithDebugInfo +- MinSizeRel (Release optimized for size) + - We set the library prefix variables on Windows compilation because we don't follow the naming convention there :( CMAKE_IMPORT_LIBRARY_PREFIX CMAKE_SHARED_LIBRARY_PREFIX @@ -51,7 +57,8 @@ ENABLE_TESTING LOGDIR RUNDIR -PASSWORD_BACKEND +- Digest algorithm to use for mserver authentication messages +PASSWORD_BACKEND - MD5, SHA1, RIPEMD160, SHA224, SHA256, SHA384 or SHA512, defaults to SHA512 - Extra libraries WITH_BZ2 @@ -67,9 +74,83 @@ WITH_UUID WITH_VALGRIND WITH_ZLIB -Linux notes: - - libtools files are not generated yet. +What I tested so far: +- Linux with GCC 4.4.7 and Clang 3.4.2 with ENABLE_STRICT=NO. For newer versions of Clang and GCC I compiled +successfully with restrict flags. Tested on distributions Debian 8, Ubuntu 16.04, CentOS 6.10 and Fedora 30. +Also tested with Intel C++ Compiler 19. I generated both GNU make and ninja build files. +- FreeBSD 12 with GCC 8.3.0 and Clang 6.0.1. +- MacOS 10.13 with Apple Clang 10. +- Windows with Visual Studio 2015 (earliest version with enough C99 support). I tried "v140_clang_c2" toolset, but the +compiler crashed during compilation. I guess it's because of an earlier version of Clang (3.8). I tried the "LLVM_v140" +toolset with Clang 9.0.0 and compiled successfully with no restrictions. Some of the warnings triggered with +restrictions are compiler bugs, others we should ourselves. I didn't go further because we don't officially support +Clang on Windows. Also tested with Intel C++ Compiler 18 using "Intel C++ Compiler 18.0" toolset inside Cygwin. I +generated Visual Studio project files for every compiler plus nmake files and jom nmake files (for parallel builds) for +MSVC. + +I haven't built 32-bit binaries yet. +What I did NOT test (we don't support): +- Solaris +- Any other Unixes: AIX, HP-UX, IRIX, Minix... +- Cygwin +- MinGW and MinGW-w64 compilers on Windows + +Note that the install task depends on the build, so the build task will be executed if not so during the installation. +During generation phase, by default the current directory will be used to generate build files. Another directory can be +specified with the -B parameter. + +--UNIX with default compiler (first found on PATH) and UNIX makefiles: +cmake -DCMAKE_INSTALL_PREFIX= +make -j +make -j install + + +--UNIX with ninja generator and a compiler other than the default one: +cmake -G Ninja -DCMAKE_C_COMPILER= -DCMAKE_INSTALL_PREFIX= +ninja -j +ninja -j install -We
MonetDB: cmake-fun - Don't set compiler flags that cmake already...
Changeset: 9e7f044e2cd2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9e7f044e2cd2 Modified Files: CMakeLists.txt sql/backends/monet5/UDF/capi/capi.c Branch: cmake-fun Log Message: Don't set compiler flags that cmake already sets. diffs (89 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -467,7 +467,6 @@ check_include_file("getopt.h" HAVE_GETOP check_include_file("kvm.h" HAVE_KVM_H) # For FreeBSD check_include_file("libintl.h" HAVE_LIBINTL_H) check_include_file("pthread.h" HAVE_PTHREAD_H) -check_include_file("stdatomic.h" HAVE_STDATOMIC_H) # C11 include file check_include_file("sys/mman.h" HAVE_SYS_MMAN_H) # For madvise and posix_madvise on BSD systems check_include_file("sys/time.h" HAVE_SYS_TIME_H) @@ -586,11 +585,8 @@ endfunction() if(MSVC) MT_addCompilerFlag("/GF" "/GF" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - MT_addCompilerFlag("/W3" "/W3" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("/nologo" "/nologo" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - MT_addCompilerFlag("/Zi" "/Zi" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("/Oi" "/Oi" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - # Remove all /Ox but /Oi on all, /Od on Debug and /Ox on others MT_removeCompilerFlag("/O[0-9a-ce-hj-zA-CE-HJ-Z]+[ ]?" "/Ox" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) MT_removeCompilerFlag("/O[0-9a-hj-wyzA-HJ-WYZ]+[ ]?" "/Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) @@ -600,14 +596,6 @@ if(MSVC) MT_addCompilerFlag("/Ox" "/Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("/Ox" "/Ox" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) MT_addCompilerFlag("/Os" "/Os" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) - - MT_addCompilerFlag("/RTC1" "/RTC1" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - MT_addCompilerFlag("/D_DEBUG" "/D_DEBUG" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - - MT_addCompilerFlag("/MDd" "/MDd" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - MT_addCompilerFlag("/MD" "/MD" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) - MT_addCompilerFlag("/MD" "/MD" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) - MT_addCompilerFlag("/MD" "/MD" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") MT_removeCompilerFlag("${COMPILER_OPTION}O[0-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) MT_removeCompilerFlag("${COMPILER_OPTION}O[0-24-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) @@ -622,7 +610,7 @@ elseif(${CMAKE_C_COMPILER_ID} STREQUAL " if(CMAKE_VERSION VERSION_LESS 3.1) MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}std=c99" "${COMPILER_OPTION}${INTEL_OPTION_EXTRA}std=c99" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() -else() #GCC, clang and Apple clang +else() # GCC, Clang and Apple clang # Remove existing -Ox flags MT_removeCompilerFlag("-O[1-2sS]+[ ]?" "-Ox" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) MT_removeCompilerFlag("-O[0-2sS]+[ ]?" "-Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) @@ -632,7 +620,6 @@ else() #GCC, clang and Apple clang MT_addCompilerFlag("-O3" "-O3" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) MT_addCompilerFlag("-O3" "-O3" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("-Os" "-Os" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) - # Replace -g flag with -g3 if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU") MT_removeCompilerFlag("-g([ ]|$)" "-g" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) @@ -647,13 +634,6 @@ else() #GCC, clang and Apple clang set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -D_FORTIFY_SOURCE=2") message(STATUS "Added definition _FORTIFY_SOURCE=2 for Release, RelWithDebugInfo and MinSizeRel builds") endif() - if(NOT ${CMAKE_C_FLAGS_RELEASE} MATCHES "DNDEBUG") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DDNDEBUG") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDNDEBUG") - set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -DDNDEBUG") - message(STATUS "Added definition NDEBUG for Release, RelWithDebugInfo and MinSizeRel builds") - endif() - # Add -fomit-frame-pointer for non debug builds MT_addCompilerFlag("-fomit-frame-pointer"
MonetDB: cmake-fun - Don't use custom targets. They always execu...
Changeset: ec4bea00889b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec4bea00889b Modified Files: sql/backends/monet5/UDF/capi/CMakeLists.txt Branch: cmake-fun Log Message: Don't use custom targets. They always execute regardless of the input's timestamp of modification. diffs (31 lines): diff --git a/sql/backends/monet5/UDF/capi/CMakeLists.txt b/sql/backends/monet5/UDF/capi/CMakeLists.txt --- a/sql/backends/monet5/UDF/capi/CMakeLists.txt +++ b/sql/backends/monet5/UDF/capi/CMakeLists.txt @@ -27,19 +27,18 @@ if(NOT "${ENABLE_CINTEGRATION}" STREQUAL list(APPEND CAPI_LINK_LIBRARIES monetdb5 gdk) endif() - add_library(capi MODULE capi.c capi.h ${CMAKE_CURRENT_SOURCE_DIR}/cheader.h - ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h) + # Generate cheader.text.h file + exec_program("${Python3_EXECUTABLE}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/boot.py ${CMAKE_CURRENT_SOURCE_DIR}/cheader.h ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h" +OUTPUT_VARIABLE CHEADER_OUTPUT RETURN_VALUE CHEADER_CODE) + if(NOT CHEADER_CODE EQUAL 0) + message(FATAL_ERROR "Could not generate cheader.text.h file") + endif() + + add_library(capi MODULE capi.c capi.h cheader.h) target_link_libraries(capi PRIVATE ${CAPI_LINK_LIBRARIES}) set_target_properties(capi PROPERTIES OUTPUT_NAME _capi) target_compile_definitions(capi PRIVATE LIBCUDF) - # Generate cheader.text.h file - add_custom_command(OUTPUT cheader COMMAND "${Python3_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/boot.py - ${CMAKE_CURRENT_SOURCE_DIR}/cheader.h ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h - BYPRODUCTS cheader.text.h) - add_custom_target(do_cheader DEPENDS cheader) - add_dependencies(capi do_cheader) - install(TARGETS capi DESTINATION ${LIBDIR}/monetdb5) if(WIN32) install(FILES $ DESTINATION ${LIBDIR}/monetdb5 OPTIONAL) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Forgot testing variable.
Changeset: a409953909e2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a409953909e2 Modified Files: testing/CMakeLists.txt Branch: cmake-fun Log Message: Forgot testing variable. diffs (14 lines): diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -44,8 +44,8 @@ else() set(NOT_WIN32_FALSE "#") endif() -set(HAVE_LIST CUDF CURL FITS GEOM HGE LIBBZ2 LIBLZ4 LIBLZMA LIBR LIBPY LIBPY3 LIBXML LIBZ LIDAR SHP NETCDF ODBC PROJ - PYTHON3 SAMTOOLS) +set(HAVE_LIST CUDF CURL FITS GEOM HGE LIBBZ2 LIBLZ4 LIBLZMA LIBPCRE LIBR LIBPY LIBPY3 LIBXML LIBZ LIDAR SHP NETCDF ODBC + PROJ PYTHON3 SAMTOOLS) foreach(loop_var IN LISTS HAVE_LIST) if(HAVE_${loop_var}) set(HAVE_${loop_var}_FALSE "#") ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Compilation fixes for Intel compiler.
Changeset: d0112b8fb3d2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d0112b8fb3d2 Modified Files: CMakeLists.txt monetdb_config.h.in Branch: cmake-fun Log Message: Compilation fixes for Intel compiler. diffs (59 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,7 +163,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - MT_addCompilerFlag("-no-gcc" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("-no-gcc([ ]|$)" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("-no-gcc-include-dir" "-no-gcc-include-dir" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 @@ -174,7 +174,6 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte endif() endif() set(__attribute__(a) ON) - set(_Pragma(a) ON) set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON CACHE INTERNAL "NaN cannot be used as an initializer") # This hack is only required by the Intel compiler elseif(MSVC) set(_Noreturn "__declspec(noreturn)") @@ -622,16 +621,10 @@ else() #GCC, clang and Apple clang # Replace -g flag with -g3 if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU") - MT_removeCompilerFlag("-g[ ]" "-g" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - MT_removeCompilerFlag("-g[ ]" "-g" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) - if("${CMAKE_C_FLAGS_DEBUG}" STREQUAL "") # hack - set(CMAKE_C_FLAGS_DEBUG "-g3") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g3") - message(STATUS "Added -g3 flag for Debug and RelWithDebugInfo builds") - else() - MT_addCompilerFlag("-g3" "-g3" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - MT_addCompilerFlag("-g3" "-g3" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) - endif() + MT_removeCompilerFlag("-g([ ]|$)" "-g" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) + MT_removeCompilerFlag("-g([ ]|$)" "-g" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) + MT_addCompilerFlag("-g3" "-g3" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) + MT_addCompilerFlag("-g3" "-g3" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) endif() if(NOT ${CMAKE_C_FLAGS_RELEASE} MATCHES "D_FORTIFY_SOURCE") diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -441,8 +441,12 @@ #cmakedefine __attribute__(a) #endif -#ifndef _Pragma -#cmakedefine _Pragma(a) +/* Intel compiler doesn't support _Pragma from GCC well */ +#ifdef _INTEL_COMPILER +#ifdef _Pragma +#undef _Pragma +#endif +#define _Pragma(a) #endif /* Does your compiler support the `_Noreturn' specifier? (C11 feature) */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Finally compiles.
Changeset: 8613a9f140de for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8613a9f140de Modified Files: CMakeLists.txt monetdb_config.h.in Branch: cmake-fun Log Message: Finally compiles. diffs (26 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,7 +163,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - MT_addCompilerFlag("-no-gcc([ ]|$)" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("-no-gcc-include-dir" "-no-gcc-include-dir" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -442,10 +442,8 @@ #endif /* Intel compiler doesn't support _Pragma from GCC well */ -#ifdef _INTEL_COMPILER -#ifdef _Pragma +#if defined(__GNUC__) && defined(__INTEL_COMPILER) #undef _Pragma -#endif #define _Pragma(a) #endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Removed unused compiler parameters for warn...
Changeset: 08ac37b530b1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=08ac37b530b1 Modified Files: CMakeLists.txt common/utils/matomic.h monetdb5/extras/rapi/CMakeLists.txt monetdb_config.h.in Branch: cmake-fun Log Message: Removed unused compiler parameters for warning messages. With Intel compiler on LInux we should disable __GNUC__ macro. diffs (66 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -678,15 +678,11 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_checkCompilerFlag("-Wformat-overflow=1") MT_checkCompilerFlag("-Wno-format-truncation") MT_checkCompilerFlag("-Wno-format-nonliteral") - MT_checkCompilerFlag("-Wno-error=suggest-attribute=format") - MT_checkCompilerFlag("-Wno-unused-command-line-argument") - MT_checkCompilerFlag("-Wno-cast-function-type") MT_checkCompilerFlag("-Winit-self") MT_checkCompilerFlag("-Winvalid-pch") MT_checkCompilerFlag("-Wmissing-declarations") MT_checkCompilerFlag("-Wmissing-format-attribute") MT_checkCompilerFlag("-Wmissing-prototypes") - MT_checkCompilerFlag("-Wno-missing-field-initializers") MT_checkCompilerFlag("-Wold-style-definition") MT_checkCompilerFlag("-Wpacked") MT_checkCompilerFlag("-Wunknown-pragmas") @@ -702,7 +698,6 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_checkCompilerFlag("-Wduplicated-branches") MT_checkCompilerFlag("-Wrestrict") MT_checkCompilerFlag("-Wnested-externs") - MT_checkCompilerFlag("-Wno-char-subscripts") MT_checkCompilerFlag("-Wunreachable-code") elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(NOT WIN32) diff --git a/common/utils/matomic.h b/common/utils/matomic.h --- a/common/utils/matomic.h +++ b/common/utils/matomic.h @@ -277,6 +277,8 @@ typedef volatile char ATOMIC_FLAG; #else +#include //required for pthread_mutex_t + /* emulate using mutexes */ typedef size_t ATOMIC_BASE_TYPE; diff --git a/monetdb5/extras/rapi/CMakeLists.txt b/monetdb5/extras/rapi/CMakeLists.txt --- a/monetdb5/extras/rapi/CMakeLists.txt +++ b/monetdb5/extras/rapi/CMakeLists.txt @@ -27,6 +27,7 @@ if(NOT ${ENABLE_RINTEGRATION} STREQUAL " string(REPLACE "-I" "" R_INCLUDE_DIR ${R_CPP_OUTPUT}) # cmake will get confused string(REPLACE "-fopenmp" "" R_LIBRARIES ${R_LD_OUTPUT}) # We don't want to link to OpenMP string(REPLACE "-fopenmp=libgomp" "" R_LIBRARIES ${R_LIBRARIES}) + string(REGEX REPLACE "-specs=[^\ ]*" "" R_LIBRARIES ${R_LIBRARIES}) # -specs argument is not used and both GCC and Clang complain about it message(STATUS "R executable, library and include files found") elseif(${ENABLE_RINTEGRATION} STREQUAL "YES") diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -441,10 +441,9 @@ #cmakedefine __attribute__(a) #endif -/* Intel compiler doesn't support _Pragma from GCC well */ +/* Disable __GNUC__ on Intel compiler */ #if defined(__GNUC__) && defined(__INTEL_COMPILER) -#undef _Pragma -#define _Pragma(a) +#undef __GNUC__ #endif /* Does your compiler support the `_Noreturn' specifier? (C11 feature) */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - We require python 3.4 for testing and 3.5 f...
Changeset: b138d9c38ec7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b138d9c38ec7 Modified Files: CMakeLists.txt clients/odbc/CMakeLists.txt monetdb5/extras/rapi/CMakeLists.txt sql/backends/monet5/UDF/capi/CMakeLists.txt sql/backends/monet5/UDF/pyapi3/CMakeLists.txt Branch: cmake-fun Log Message: We require python 3.4 for testing and 3.5 for python UDFs. Set RHOME only if HAVE_LIBR is enabled, and HAVE_SIZEOF_SQLWCHAR check is not required for the ODBC driver. diffs (101 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,7 +287,7 @@ else() endif() endif() if(Python3_Interpreter_FOUND) - set(PYTHON3_REQUIRED_VERSION "3.5") + set(PYTHON3_REQUIRED_VERSION "3.4") if("${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" VERSION_LESS ${PYTHON3_REQUIRED_VERSION}) message(WARNING "The Python 3 executable is too old ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR} < ${PYTHON3_REQUIRED_VERSION}") else() diff --git a/clients/odbc/CMakeLists.txt b/clients/odbc/CMakeLists.txt --- a/clients/odbc/CMakeLists.txt +++ b/clients/odbc/CMakeLists.txt @@ -62,7 +62,7 @@ if(NOT ${ENABLE_ODBC} STREQUAL "NO") set(ODBC_LIBRARIES "${ODBC_LIBRARY}") endif() - if(ODBCINST_LIBRARY AND ODBC_LIBRARY AND HAVE_SIZEOF_SQLWCHAR) + if(ODBCINST_LIBRARY AND ODBC_LIBRARY) set(HAVE_ODBC ON CACHE INTERNAL "odbc extension is available") elseif(${ENABLE_ODBC} STREQUAL "YES") message(FATAL_ERROR "There are unixODBC libraries missing") diff --git a/monetdb5/extras/rapi/CMakeLists.txt b/monetdb5/extras/rapi/CMakeLists.txt --- a/monetdb5/extras/rapi/CMakeLists.txt +++ b/monetdb5/extras/rapi/CMakeLists.txt @@ -39,9 +39,10 @@ if(NOT ${ENABLE_RINTEGRATION} STREQUAL " set(HAVE_LIBR ON CACHE INTERNAL "rapi extension is available") endif() endif() -set(RHOME "${R_HOME_OUTPUT}" CACHE INTERNAL "R home directory") # No R_HOME on Windows if(HAVE_LIBR) + set(RHOME "${R_HOME_OUTPUT}" CACHE INTERNAL "R home directory") # No R_HOME on Windows + include_directories(../../../common/stream ../../../common/utils ../../../gdk ../../mal ../../modules/kernel ../../modules/atoms ../../modules/mal ../../../sql/common ../../../sql/include ../../../sql/server ../../../sql/storage ../../../sql/backends/monet5 ${R_INCLUDE_DIR}) diff --git a/sql/backends/monet5/UDF/capi/CMakeLists.txt b/sql/backends/monet5/UDF/capi/CMakeLists.txt --- a/sql/backends/monet5/UDF/capi/CMakeLists.txt +++ b/sql/backends/monet5/UDF/capi/CMakeLists.txt @@ -14,7 +14,7 @@ if("${ENABLE_CINTEGRATION}" STREQUAL "YE endif() endif() if(NOT "${ENABLE_CINTEGRATION}" STREQUAL "NO" AND HAVE_PYTHON3 AND NOT WIN32) - set(HAVE_CUDF ON CACHE INTERNAL "pyapi3 extension is available") + set(HAVE_CUDF ON CACHE INTERNAL "C udfs extension is available") include_directories(../../../../../clients/mapilib ../../../../../common/utils ../../../../../common/stream ../../../../../monetdb5/modules/atoms ../../../../../monetdb5/modules/mal ../../../../../gdk diff --git a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt --- a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt +++ b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt @@ -6,21 +6,34 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -if(HAVE_PYTHON3 AND Python3_Development_FOUND) - message(STATUS "Checking for numpy version") - exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import numpy; print(int(numpy.__version__.split('.').__getitem__(1)) >= 7)\"" OUTPUT_VARIABLE NUMPY_OUTPUT RETURN_VALUE NUMPY_RETURN_CODE) - exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import numpy; print(numpy.get_include())\"" OUTPUT_VARIABLE NUMPY_CPP_FLAGS RETURN_VALUE NUMPY_CPP_RC) - if(NUMPY_RETURN_CODE EQUAL 0 AND NUMPY_CPP_RC EQUAL 0 AND "${NUMPY_OUTPUT}" STREQUAL "True") - set(HAVE_LIBPY3 ON CACHE INTERNAL "pyapi3 extension is available") - set(NUMPY3_INCLUDE_DIR ${NUMPY_CPP_FLAGS}) - message(STATUS "numpy version >= 1.7.0 for Python 3 found") +if(NOT "${ENABLE_PY3INTEGRATION}" STREQUAL "NO") + if(HAVE_PYTHON3 AND Python3_Development_FOUND) + set(PYTHON3_DEV_REQUIRED_VERSION "3.5") + if("${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" VERSION_LESS ${PYTHON3_DEV_REQUIRED_VERSION}) + if("${ENABLE_PY3INTEGRATION}" STREQUAL "YES") + message(FATAL_ERROR "Python
MonetDB: cmake-fun - We require cmake 3.1 on Windows.
Changeset: 0e5ce3ae188e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0e5ce3ae188e Modified Files: CMakeLists.txt CMakeReadme.txt monetdb5/extras/rapi/CMakeLists.txt Branch: cmake-fun Log Message: We require cmake 3.1 on Windows. Also check for compiler flag existence first. diffs (43 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,11 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -cmake_minimum_required(VERSION 3.0) # The $ generator expression appears only on cmake 3.1, which causes problems on Windows with cmake 3.0 +if(WIN32) + cmake_minimum_required(VERSION 3.1) # The $ generator expression appears on cmake 3.1 +else() + cmake_minimum_required(VERSION 3.0) +endif() # Change these variables between releases set(MONETDB_VERSION_MAJOR "11") diff --git a/CMakeReadme.txt b/CMakeReadme.txt --- a/CMakeReadme.txt +++ b/CMakeReadme.txt @@ -1,3 +1,5 @@ +Cmake 3.1 is required on Windows, On all other platforms, cmake 3.0 suffices. +On CentOS 6, enable epel repository, then install cmake3 package. While running the cmake command set internal variables to change the build properties in the form -D= - Variables intrinsic to Cmake that we set on our scripts diff --git a/monetdb5/extras/rapi/CMakeLists.txt b/monetdb5/extras/rapi/CMakeLists.txt --- a/monetdb5/extras/rapi/CMakeLists.txt +++ b/monetdb5/extras/rapi/CMakeLists.txt @@ -58,7 +58,13 @@ if(HAVE_LIBR) set_target_properties(rapi PROPERTIES OUTPUT_NAME _rapi) target_compile_definitions(rapi PRIVATE LIBRAPI) if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$") - target_compile_options(rapi PRIVATE -Wno-redundant-decls) + cmake_push_check_state() + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS};-Wno-redundant-decls") + check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_Wnoredundantdecls) # Warning don't add '-' or '/' to the output variable! + cmake_pop_check_state() + if(COMPILER_Wnoredundantdecls) + target_compile_options(rapi PRIVATE -Wno-redundant-decls) + endif() endif() install(TARGETS rapi DESTINATION ${LIBDIR}/monetdb5) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Use FindPython3 only on 3.12 versions up.
Changeset: b3a230889900 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b3a230889900 Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Use FindPython3 only on 3.12 versions up. The previous solution was buggy for 3.11.x versions. diffs (23 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -271,9 +271,7 @@ set(PATH_SEP "'${OS_PATHSEP}'") set(SO_EXT "${CMAKE_SHARED_LIBRARY_SUFFIX}") # We need python3 for the testweb, python udfs and c udfs compilation -if(CMAKE_VERSION VERSION_GREATER 3.11) - find_package(Python3 COMPONENTS Interpreter Development) -else() +if(CMAKE_VERSION VERSION_LESS 3.12) set(Python_ADDITIONAL_VERSIONS 3) find_package(PythonInterp 3) find_package(PythonLibs 3) @@ -289,6 +287,8 @@ else() set(Python3_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}") set(Python3_LIBRARIES "${PYTHON_LIBRARIES}") endif() +else() + find_package(Python3 COMPONENTS Interpreter Development) endif() if(Python3_Interpreter_FOUND) set(PYTHON3_REQUIRED_VERSION "3.4") ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Merge with default.
Changeset: 758b78e7e78d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=758b78e7e78d Modified Files: sql/backends/monet5/UDF/pyapi/convert_loops.h sql/backends/monet5/generator/generator.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_statement.c sql/server/rel_select.c sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.out.int128 sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128 Branch: cmake-fun Log Message: Merge with default. diffs (282 lines): diff --git a/sql/backends/monet5/UDF/pyapi/convert_loops.h b/sql/backends/monet5/UDF/pyapi/convert_loops.h --- a/sql/backends/monet5/UDF/pyapi/convert_loops.h +++ b/sql/backends/monet5/UDF/pyapi/convert_loops.h @@ -290,7 +290,8 @@ convert_and_append(BAT* b, const char* t size_t len = 0; gdk_return ret; - BATatoms[b->ttype].atomFromStr(text, , , false); + if (BATatoms[b->ttype].atomFromStr(text, , , false) < 0) + return GDK_FAIL; ret = BUNappend(b, element, force); GDKfree(element); return ret; diff --git a/sql/backends/monet5/generator/generator.c b/sql/backends/monet5/generator/generator.c --- a/sql/backends/monet5/generator/generator.c +++ b/sql/backends/monet5/generator/generator.c @@ -647,7 +647,7 @@ str VLTgenerator_thetasubselect(Client c if ( strcmp(oper,">") == 0){ lng one = 1; low= *getArgReference_TYPE(stk,pci,idx, timestamp); - if ((msg = MTIMEtimestamp_add(, , )) != MAL_SUCCEED) { + if ((msg = MTIMEtimestamp_add(, , )) != MAL_SUCCEED) { if (cand) BBPunfix(cand->batCacheid); return msg; diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -582,7 +582,7 @@ exp_bin(backend *be, sql_exp *e, stmt *l list *l = sa_list(sql->sa), *exps = e->l; sql_subfunc *f = e->f; stmt *rows = NULL, *cond_execution = NULL; - char name[16], *nme; + char name[16], *nme = NULL; if (f->func->side_effect && left) { if (!exps || list_empty(exps)) diff --git a/sql/backends/monet5/sql_statement.c b/sql/backends/monet5/sql_statement.c --- a/sql/backends/monet5/sql_statement.c +++ b/sql/backends/monet5/sql_statement.c @@ -2750,7 +2750,13 @@ stmt_convert(backend *be, stmt *v, sql_s if (v->nr < 0) return NULL; - if (t->type->localtype == f->type->localtype && (t->type->eclass == f->type->eclass || (EC_VARCHAR(f->type->eclass) && EC_VARCHAR(t->type->eclass))) && !EC_INTERVAL(f->type->eclass) && f->type->eclass != EC_DEC && (t->digits == 0 || f->digits == t->digits)) { + if (t->type->localtype == f->type->localtype && + (t->type->eclass == f->type->eclass || +(EC_VARCHAR(f->type->eclass) && EC_VARCHAR(t->type->eclass))) && + !EC_INTERVAL(f->type->eclass) && + f->type->eclass != EC_DEC && + (t->digits == 0 || f->digits == t->digits) && + type_has_tz(t) == type_has_tz(f)) { return v; } diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -2691,6 +2691,7 @@ rel_in_exp(sql_query *query, sql_rel *re r = rel_value_exp(query, , n->data.sym, f /* ie no result project */, ek); if (!r) { + sql_rel *oleft = left; /* reset error */ sql->session->status = 0; sql->errstr[0] = 0; @@ -2698,6 +2699,8 @@ rel_in_exp(sql_query *query, sql_rel *re r = rel_value_exp(query, , n->data.sym, f /* ie no result project */, ek); if (r) l_used = is_join(left->op); + if (oleft != left) + l_outer = 1; } if (!r) { /* reset error */ @@ -2758,12 +2761,13 @@ rel_in_exp(sql_query *query, sql_rel *re } if (rel_convert_types(sql, , , 1, type_equal_no_any) < 0) return NULL; - r = exp_compare(sql->sa,
MonetDB: cmake-fun - The MERCURIAL_ID must be computed on every ...
Changeset: 8a323d18ae39 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8a323d18ae39 Added Files: common/utils/FindRevision.cmake Modified Files: CMakeLists.txt common/utils/CMakeLists.txt common/utils/revision.c monetdb_config.h.in Branch: cmake-fun Log Message: The MERCURIAL_ID must be computed on every build. diffs (126 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,20 +54,11 @@ string(TOLOWER "${CMAKE_SYSTEM_NAME}" CM string(TOLOWER "${CMAKE_C_COMPILER_ID}" CMAKE_C_COMPILER_ID_LOWER) set("HOST" "${CMAKE_SYSTEM_PROCESSOR_LOWER}-pc-${CMAKE_SYSTEM_NAME_LOWER}-${CMAKE_C_COMPILER_ID_LOWER}") -set(DFT_STRICT "NO") -# Check current version control revision -if(EXISTS "${CMAKE_SOURCE_DIR}/.hg") - exec_program("hg" "${CMAKE_SOURCE_DIR}" ARGS "id -i" OUTPUT_VARIABLE HG_OUPUT_RES RETURN_VALUE HG_RETURN_CODE) - if(HG_RETURN_CODE EQUAL 0 AND HG_OUPUT_RES) - set(MERCURIAL_ID "${HG_OUPUT_RES}") - set(DFT_STRICT "YES") - endif() -elseif(EXISTS "${CMAKE_SOURCE_DIR}/.git") - exec_program("git" "${CMAKE_SOURCE_DIR}" ARGS "rev-parse --short HEAD" OUTPUT_VARIABLE GIT_OUPUT_RES RETURN_VALUE GIT_RETURN_CODE) - if(GIT_RETURN_CODE EQUAL 0 AND GIT_OUPUT_RES) - set(MERCURIAL_ID "${GIT_OUPUT_RES}+") - set(DFT_STRICT "YES") - endif() +# If checking out from version control enable strict compilation flags +if(EXISTS "${CMAKE_SOURCE_DIR}/.hg" OR EXISTS "${CMAKE_SOURCE_DIR}/.git") + set(DFT_STRICT "YES") +else() + set(DFT_STRICT "NO") endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") # Initialize variable diff --git a/common/utils/CMakeLists.txt b/common/utils/CMakeLists.txt --- a/common/utils/CMakeLists.txt +++ b/common/utils/CMakeLists.txt @@ -6,7 +6,11 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -include_directories(${UUID_INCLUDE_DIR} ${CRYPTO_INCLUDE_DIR}) +include_directories(${CMAKE_CURRENT_BINARY_DIR} ${UUID_INCLUDE_DIR} ${CRYPTO_INCLUDE_DIR}) + +# FindRevision script must run every time to detect the current revision +add_custom_target(mrevision COMMAND ${CMAKE_COMMAND} ARGS -P ${CMAKE_CURRENT_SOURCE_DIR}/FindRevision.cmake + ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/monetdb_hgversion.h) set(MUTILS_OBJECTS mutils.h mutils.c revision.c) set(MCRYPT_OBJECTS mcrypt.h mcrypt.c) @@ -41,4 +45,5 @@ else() set_target_properties(msabaoth PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() +add_dependencies(mutils mrevision) install(FILES matomic.h DESTINATION ${INCLUDEDIR}/monetdb) diff --git a/common/utils/FindRevision.cmake b/common/utils/FindRevision.cmake new file mode 100644 --- /dev/null +++ b/common/utils/FindRevision.cmake @@ -0,0 +1,33 @@ +#[[ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. +#]] + +if(NOT ${CMAKE_ARGC} EQUAL 6) + message(FATAL_ERROR "Six arguments must be given to this script (called from common/utils/CMakeLists.txt)") +endif() + +# Get the current version control revision +if(EXISTS "${CMAKE_ARGV4}/.hg") + exec_program("hg" "${CMAKE_ARGV4}" ARGS "id -i" OUTPUT_VARIABLE HG_OUPUT_RES RETURN_VALUE HG_RETURN_CODE) + if(HG_RETURN_CODE EQUAL 0 AND HG_OUPUT_RES) + set(MERCURIAL_ID "${HG_OUPUT_RES}") + else() + message(FATAL_ERROR "Failed to find mercurial ID") + endif() +elseif(EXISTS "${CMAKE_ARGV4}/.git") + exec_program("git" "${CMAKE_ARGV4}" ARGS "rev-parse --short HEAD" OUTPUT_VARIABLE GIT_OUPUT_RES RETURN_VALUE GIT_RETURN_CODE) + if(GIT_RETURN_CODE EQUAL 0 AND GIT_OUPUT_RES) + set(MERCURIAL_ID "${GIT_OUPUT_RES}") + else() + message(FATAL_ERROR "Failed to find git ID") + endif() +else() + set(MERCURIAL_ID "Unknown") +endif() + +# Write it to monetdb_hgversion.h file +file(WRITE "${CMAKE_ARGV5}" "#define MERCURIAL_ID \"${MERCURIAL_ID}\"") diff --git a/common/utils/revision.c b/common/utils/revision.c --- a/common/utils/revision.c +++ b/common/utils/revision.c @@ -7,18 +7,11 @@ */ #include "monetdb_config.h" +#include "monetdb_hgversion.h" #include "mutils.h" -static const char revision[] = -#ifdef MERCURIAL_ID - MERCURIAL_ID -#else - "Unknown" -#endif - ; - const char * mercurial_revision(void) { - return revision; + return MERCURIAL_ID; } diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -240,9 +240,6 @@ /* modifiable single-machine data */ #cmakedefine LOCALSTATEDIR "@LOCALSTATE_DIR@" -/* Mercurial repository version */ -#cmakedefine MERCURIAL_ID
MonetDB: cmake-fun - Simplify testing variables.
Changeset: 56d93d3a9942 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56d93d3a9942 Modified Files: testing/CMakeLists.txt testing/Mtest.py.in testing/listexports.py.in Branch: cmake-fun Log Message: Simplify testing variables. diffs (59 lines): diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -9,11 +9,8 @@ add_executable(Mdiff difflib.c helpers.c Mdiff.c difflib.h helpers.h) install(TARGETS Mdiff DESTINATION ${BINDIR}) -string(REPLACE "\\" "" SOURCE "${CMAKE_SOURCE_DIR}") +string(REPLACE "\\" "" QXbindir "${BINDIR}") string(REPLACE "\\" "" QXBUILD "${CMAKE_BINARY_DIR}") -string(REPLACE "\\" "" QXSOURCE "${CMAKE_SOURCE_DIR}") - -string(REPLACE "\\" "" QXbindir "${BINDIR}") # TODO confirm these changes string(REPLACE "\\" "" QXdatadir "${DATADIR}") string(REPLACE "\\" "" QXdatarootdir "${DATAROOTDIR}") string(REPLACE "\\" "" QXexec_prefix "${CMAKE_INSTALL_PREFIX}") @@ -24,11 +21,10 @@ string(REPLACE "\\" "" QXlibexecdir string(REPLACE "\\" "" QXlocalstatedir "${LOCALSTATEDIR}") string(REPLACE "\\" "" QXmandir "${MANDIR}") string(REPLACE "\\" "" QXprefix "${CMAKE_INSTALL_PREFIX}") -string(REPLACE "\\" "" QXsysconfdir "${SYSCONFDIR}") - -set(PYTHON3 "${Python3_EXECUTABLE}") string(REPLACE "\\" "" QXPYTHON3 "${Python3_EXECUTABLE}") string(REPLACE "\\" "" QXPYTHON3_LIBDIR "${PYTHON3_LIBDIR}") +string(REPLACE "\\" "" QXSOURCE "${CMAKE_SOURCE_DIR}") +string(REPLACE "\\" "" QXsysconfdir "${SYSCONFDIR}") if(CMAKE_SIZEOF_VOID_P EQUAL 4) set(BITS32_FALSE "#") diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -1,4 +1,4 @@ -#!@PYTHON3@ +#!@Python3_EXECUTABLE@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this @@ -413,7 +413,6 @@ CONDITIONALS = { 'HAVE_SAMTOOLS': "@HAVE_SAMTOOLS_FALSE@", 'NATIVE_WIN32' : "@NATIVE_WIN32_FALSE@", 'NOT_WIN32': "@NOT_WIN32_FALSE@", -'PROFILING': "@PROFILING_FALSE@", # unknown at compile time; # hence, we set them only at runtime in main() below 'KNOWNFAIL': "", # skip on release branch when not in testweb diff --git a/testing/listexports.py.in b/testing/listexports.py.in --- a/testing/listexports.py.in +++ b/testing/listexports.py.in @@ -26,7 +26,7 @@ skipdirs = ['extras'] skipfiles = ['monet_getopt.h'] # where the files are -srcdir = r'@SOURCE@' +srcdir = r'@QXSOURCE@' # the export command; note the keyword we look for is a word that ends # in "export" ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Use consistently ftime on Windows instead o...
Changeset: f08f0896589c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f08f0896589c Modified Files: gdk/gdk_posix.c gdk/gdk_posix.h monetdb5/mal/mal_profiler.c monetdb5/modules/mal/wlc.c sql/backends/monet5/sql_result.c sql/backends/monet5/wlr.c Branch: cmake-fun Log Message: Use consistently ftime on Windows instead of gettimeofday. No necessity to implement it there. diffs (229 lines): diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c --- a/gdk/gdk_posix.c +++ b/gdk/gdk_posix.c @@ -684,11 +684,9 @@ MT_init_posix(void) size_t MT_getrss(void) { -#ifdef _WIN64 PROCESS_MEMORY_COUNTERS ctr; if (GetProcessMemoryInfo(GetCurrentProcess(), , sizeof(ctr))) return ctr.WorkingSetSize; -#endif return 0; } @@ -842,34 +840,6 @@ MT_path_absolute(const char *pathname) (pathname[0] == '\\' && pathname[1] == '\\')); } -#ifdef _MSC_VER -static int nodays[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - -#define LEAPYEAR(y) y)%4)==0 && ((y)%100)!=0) || ((y)%400)==0) -#define NODAYS(m,y) (((m)!=2)?nodays[(m)-1]:LEAPYEAR(y)?29:28) - -int -gettimeofday(struct timeval *tv, int *ignore_zone) -{ - unsigned int year, day, month; - SYSTEMTIME st; - - (void) ignore_zone; - GetSystemTime(); - day = 0; - for (year = 1970; year < st.wYear; year++) - day += LEAPYEAR(year) ? 366 : 365; - - for (month = 1; month < st.wMonth; month++) - day += NODAYS(month, st.wYear); - - day += st.wDay; - tv->tv_sec = 60 * (day * 24 * 60 + st.wMinute) + st.wSecond; - tv->tv_usec = 1000 * st.wMilliseconds; - return 0; -} -#endif - void * mdlopen(const char *file, int mode) { diff --git a/gdk/gdk_posix.h b/gdk/gdk_posix.h --- a/gdk/gdk_posix.h +++ b/gdk/gdk_posix.h @@ -145,9 +145,6 @@ gdk_export int dlclose(void *handle); gdk_export void *dlsym(void *handle, const char *name); gdk_export char *dlerror(void); -#ifdef _MSC_VER -gdk_export int gettimeofday(struct timeval *tv, int *ignore_zone); -#endif gdk_export int win_stat(const char *, struct stat *); gdk_export int win_rmdir(const char *); gdk_export int win_rename(const char *, const char *); diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -24,7 +24,9 @@ #include "mal_utils.h" #include "mal_resource.h" -#ifndef NATIVE_WIN32 +#ifdef NATIVE_WIN32 +#include /* ftime */ +#else #include #endif @@ -42,7 +44,11 @@ static int highwatermark = 5;// conserv static int TRACE_init = 0; int malProfileMode = 0; /* global flag to indicate profiling mode */ +#ifdef NATIVE_WIN32 +static struct timeb startup_time; +#else static struct timeval startup_time; +#endif static ATOMIC_TYPE hbdelay = ATOMIC_VAR_INIT(0); @@ -142,7 +148,11 @@ renderProfilerEvent(MalBlkPtr mb, MalStk str stmt, c; str stmtq; lng usec= GDKusec(); +#ifdef NATIVE_WIN32 + uint64_t microseconds = (uint64_t)startup_time.time*100 + ((int64_t) startup_time.millitm) * 1000 + (uint64_t)usec; +#else uint64_t microseconds = (uint64_t)startup_time.tv_sec*100 + (uint64_t)startup_time.tv_usec + (uint64_t)usec; +#endif // ignore generation of events for instructions that are called too often if(highwatermark && highwatermark + (start == 0) < pci->calls) @@ -449,7 +459,11 @@ profilerHeartbeatEvent(char *alter) char logbuffer[LOGLEN], *logbase; int loglen; lng usec = GDKusec(); +#ifdef NATIVE_WIN32 + uint64_t microseconds = (uint64_t)startup_time.time*100 + ((int64_t) startup_time.millitm) * 1000 + (uint64_t)usec; +#else uint64_t microseconds = (uint64_t)startup_time.tv_sec*100 + (uint64_t)startup_time.tv_usec + (uint64_t)usec; +#endif if (ATOMIC_GET() == 0 || eventstream == NULL) return; @@ -1034,7 +1048,6 @@ getDiskSpace(void) return size; } - void profilerGetCPUStat(lng *user, lng *nice, lng *sys, lng *idle, lng *iowait) { (void) getCPULoad(0); @@ -1087,7 +1100,11 @@ void setHeartbeat(int delay) void initProfiler(void) { +#ifdef NATIVE_WIN32 + ftime(_time); +#else gettimeofday(_time, NULL); +#endif } void initHeartbeat(void) diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c --- a/monetdb5/modules/mal/wlc.c +++ b/monetdb5/modules/mal/wlc.c @@ -151,6 +151,7 @@ #include "wlc.h" #ifdef NATIVE_WIN32 +#include /* ftime */ #define access _access #endif @@ -466,15 +467,23 @@ WLCstopmaster(Client cntxt, MalBlkPtr mb static str WLCsettime(Client cntxt, InstrPtr pci, InstrPtr p, str call) { - struct timeval clock; - time_t clk ; + time_t clk; struct tm ctm; char wlc_time[26]; - (void) pci; +#ifdef NATIVE_WIN32 + struct timeb tb; + +
MonetDB: cmake-fun - Compilation fixes.
Changeset: 0001c73e2195 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0001c73e2195 Modified Files: CMakeLists.txt gdk/gdk_logger.c gdk/gdk_posix.h gdk/gdk_utils.c monetdb5/modules/mal/wlc.c monetdb5/modules/mal/wlc.h monetdb_config.h.in Branch: cmake-fun Log Message: Compilation fixes. diffs (114 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -504,10 +504,10 @@ if(NOT HAVE_SIZEOF_SSIZE_T) # Set a defa endif() set(SIZEOF_SSIZE_T ${CMAKE_SIZEOF_VOID_P}) endif() -check_type_size(char SIZEOF_CHAR LANGUAGE C) -check_type_size(short SIZEOF_SHORT LANGUAGE C) -check_type_size(int SIZEOF_INT LANGUAGE C) -check_type_size(long SIZEOF_LNG LANGUAGE C) +check_type_size(int8_t SIZEOF_BTE LANGUAGE C) +check_type_size(int16_t SIZEOF_SHT LANGUAGE C) +check_type_size(int32_t SIZEOF_INT LANGUAGE C) +check_type_size(int64_t SIZEOF_LNG LANGUAGE C) set(SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P}) check_type_size(wchar_t SIZEOF_WCHAR_T LANGUAGE C) set(HAVE_HGE OFF CACHE INTERNAL "Huge integers are available" FORCE) diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -965,7 +965,7 @@ tr_commit(logger *lg, trans *tr) return tr_destroy(tr); } -#ifdef _MSC_VER +#ifdef NATIVE_WIN32 #define access _access #endif diff --git a/gdk/gdk_posix.h b/gdk/gdk_posix.h --- a/gdk/gdk_posix.h +++ b/gdk/gdk_posix.h @@ -154,7 +154,7 @@ gdk_export int win_rename(const char *, gdk_export int win_unlink(const char *); gdk_export int win_mkdir(const char *, const int mode); -#define _stat64win_stat +#define _stat64(x,y) win_stat(x,y) #define mkdir win_mkdir #define rmdir win_rmdir #define rename win_rename diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -429,10 +429,10 @@ GDKinit(opt *set, int setlen) char buf[16]; /* some sanity checks (should also find if symbols are not defined) */ - static_assert(sizeof(char) == SIZEOF_CHAR, - "error in configure: bad value for SIZEOF_CHAR"); - static_assert(sizeof(short) == SIZEOF_SHORT, - "error in configure: bad value for SIZEOF_SHORT"); + static_assert(sizeof(bte) == SIZEOF_BTE, + "error in configure: bad value for SIZEOF_BTE"); + static_assert(sizeof(sht) == SIZEOF_SHT, + "error in configure: bad value for SIZEOF_SHT"); static_assert(sizeof(int) == SIZEOF_INT, "error in configure: bad value for SIZEOF_INT"); static_assert(sizeof(lng) == SIZEOF_LNG, diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c --- a/monetdb5/modules/mal/wlc.c +++ b/monetdb5/modules/mal/wlc.c @@ -150,6 +150,10 @@ #include "mal_builder.h" #include "wlc.h" +#ifdef NATIVE_WIN32 +#define access _access +#endif + MT_Lock wlc_lock = MT_LOCK_INITIALIZER("wlc_lock"); static char wlc_snapshot[FILENAME_MAX]; // The location of the snapshot against which the logs work diff --git a/monetdb5/modules/mal/wlc.h b/monetdb5/modules/mal/wlc.h --- a/monetdb5/modules/mal/wlc.h +++ b/monetdb5/modules/mal/wlc.h @@ -33,9 +33,6 @@ #ifndef F_OK #define F_OK 0 #endif -#ifdef NATIVE_WIN32 -#define access _access -#endif mal_export MT_Lock wlc_lock; mal_export char wlc_dir[FILENAME_MAX]; diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -261,17 +261,17 @@ /* The home of R */ #cmakedefine RHOME "@RHOME@" -/* The size of `char', as computed by sizeof. */ -#cmakedefine SIZEOF_CHAR @SIZEOF_CHAR@ +/* The size of `int8_t', as computed by sizeof. */ +#cmakedefine SIZEOF_BTE @SIZEOF_BTE@ -/* The size of `int', as computed by sizeof. */ +/* The size of `int32_t', as computed by sizeof. */ #cmakedefine SIZEOF_INT @SIZEOF_INT@ -/* The size of `long', as computed by sizeof. */ +/* The size of `int64_t', as computed by sizeof. */ #cmakedefine SIZEOF_LNG @SIZEOF_LNG@ -/* The size of `short', as computed by sizeof. */ -#cmakedefine SIZEOF_SHORT @SIZEOF_SHORT@ +/* The size of `int16_t', as computed by sizeof. */ +#cmakedefine SIZEOF_SHT @SIZEOF_SHT@ /* The size of `size_t', as computed by sizeof. */ #cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Cleanup unused GDK macros.
Changeset: 9bd5d14db86e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9bd5d14db86e Modified Files: CMakeLists.txt clients/mapiclient/prompt.c clients/mapiclient/tomograph.c gdk/gdk.h gdk/gdk_atoms.h gdk/gdk_posix.h gdk/gdk_utils.c monetdb5/mal/mal_linker.c monetdb5/modules/mal/wlc.h monetdb_config.h.in sql/backends/monet5/UDF/pyapi/pytypes.c Branch: cmake-fun Log Message: Cleanup unused GDK macros. diffs (214 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -507,7 +507,7 @@ endif() check_type_size(char SIZEOF_CHAR LANGUAGE C) check_type_size(short SIZEOF_SHORT LANGUAGE C) check_type_size(int SIZEOF_INT LANGUAGE C) -check_type_size(long SIZEOF_LONG LANGUAGE C) +check_type_size(long SIZEOF_LNG LANGUAGE C) set(SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P}) check_type_size(wchar_t SIZEOF_WCHAR_T LANGUAGE C) set(HAVE_HGE OFF CACHE INTERNAL "Huge integers are available" FORCE) diff --git a/clients/mapiclient/prompt.c b/clients/mapiclient/prompt.c --- a/clients/mapiclient/prompt.c +++ b/clients/mapiclient/prompt.c @@ -19,14 +19,14 @@ char * prompt_getlogin(void) { -#ifndef NATIVE_WIN32 +#ifdef NATIVE_WIN32 + return "win32"; +#else return getlogin(); -#else - return "win32"; #endif } -#ifdef _MSC_VER +#ifdef NATIVE_WIN32 char * simple_prompt(const char *prompt, int maxlen, int echo, const char *def) { diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c --- a/clients/mapiclient/tomograph.c +++ b/clients/mapiclient/tomograph.c @@ -1153,7 +1153,7 @@ static int height = 160; static char * findlogo(void) { -#ifdef _MSC_VER +#ifdef NATIVE_WIN32 /* on Windows, convert \ to / path separators since this path * is added to gnuplot input */ static char buf[sizeof(LOGOFILE)]; diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -488,20 +488,16 @@ typedef size_t oid; typedef int bat; /* Index into BBP */ typedef void *ptr; /* Internal coding of types */ - -#define SIZEOF_PTR SIZEOF_VOID_P typedef float flt; typedef double dbl; typedef char *str; -#define SIZEOF_LNG 8 #define LL_CONSTANT(val) INT64_C(val) #define LLFMT "%" PRId64 #define ULLFMT "%" PRIu64 typedef oid var_t; /* type used for heap index of var-sized BAT */ #define SIZEOF_VAR_T SIZEOF_OID -#define VARFMT OIDFMT #if SIZEOF_VAR_T == SIZEOF_INT #define VAR_MAX((var_t) INT_MAX) @@ -540,7 +536,6 @@ typedef uint64_t BUN8type; #define BUN8_NONE ((BUN8type) UINT64_C(0x)) #endif - /* * @- Checking and Error definitions: */ @@ -825,8 +820,6 @@ typedef struct BATiter { #define timprints T.imprints #define tprops T.props - - /* * @- Heap Management * Heaps are the low-level entities of mass storage in @@ -927,7 +920,6 @@ gdk_export void HEAP_free(Heap *heap, va * The routine BATclone creates an empty BAT storage area with the * properties inherited from its argument. */ -#define BATDELETE (-) gdk_export BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role) __attribute__((__warn_unused_result__)); @@ -1304,7 +1296,6 @@ typedef enum { gdk_export gdk_return BATsetaccess(BAT *b, restrict_t mode); gdk_export restrict_t BATgetaccess(BAT *b); - #define BATdirty(b)(!(b)->batCopiedtodisk || \ (b)->batDirtydesc || \ (b)->theap.dirty ||\ @@ -1410,7 +1401,6 @@ gdk_export bool BATordered_rev(BAT *b); gdk_export gdk_return BATsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o, BAT *g, bool reverse, bool nilslast, bool stable) __attribute__((__warn_unused_result__)); - gdk_export void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast); #define BATtordered(b) ((b)->tsorted) @@ -2292,7 +2282,6 @@ typedef struct threadStruct { uintptr_t sp; } ThreadRec, *Thread; - gdk_export int THRgettid(void); gdk_export Thread THRget(int tid); gdk_export MT_Id THRcreate(void (*f) (void *), void *arg, enum MT_thr_detach d, const char *name); diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h --- a/gdk/gdk_atoms.h +++ b/gdk/gdk_atoms.h @@ -23,7 +23,7 @@ #else #define oidStrlen 48 #endif -#if SIZEOF_PTR == SIZEOF_INT +#if SIZEOF_VOID_P == SIZEOF_INT #define ptrStrlen 24 #else #define ptrStrlen 48 diff --git a/gdk/gdk_posix.h b/gdk/gdk_posix.h --- a/gdk/gdk_posix.h +++ b/gdk/gdk_posix.h @@ -154,7 +154,7 @@ gdk_export int win_rename(const char *, gdk_export int win_unlink(const char *); gdk_export int win_mkdir(const char *, const int mode); -#define
MonetDB: cmake-fun - Compiles with Intel compiler on Windows. Al...
Changeset: 542c16759449 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=542c16759449 Modified Files: CMakeLists.txt testing/CMakeLists.txt Branch: cmake-fun Log Message: Compiles with Intel compiler on Windows. Also fixed installation of testing python library. diffs (53 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -181,7 +181,9 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE") # required for tests endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") - if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + if(WIN32) + add_definitions(/D_CRT_SECURE_NO_WARNINGS) + elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") MT_addCompilerFlag("-no-gcc-include-dir" "-no-gcc-include-dir" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 @@ -311,12 +313,8 @@ if(Python3_Interpreter_FOUND) if("${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" VERSION_LESS ${PYTHON3_REQUIRED_VERSION}) message(WARNING "The Python 3 executable is too old ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR} < ${PYTHON3_REQUIRED_VERSION}") else() - exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,'${LIBDIR}'))\"" OUTPUT_VARIABLE PYTHON3_LIBDIR RETURN_VALUE PYTHON3_LIBDIR_CODE) + exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,'${CMAKE_INSTALL_PREFIX}'))\"" OUTPUT_VARIABLE PYTHON3_LIBDIR RETURN_VALUE PYTHON3_LIBDIR_CODE) if(PYTHON3_LIBDIR AND PYTHON3_LIBDIR_CODE EQUAL 0) - string(LENGTH "${LIBDIR}" LIBDIR_LENGTH) - string(LENGTH "${PYTHON3_LIBDIR}" PYTHON3_LIBDIR_PREFIX_LENGTH) - math(EXPR LEN1 "${LIBDIR_LENGTH}+1") # add the / separator - string(SUBSTRING "${PYTHON3_LIBDIR}" ${LEN1} -1 PYTHON_LIBDIR) # remove the prefix set(HAVE_PYTHON3 ON CACHE INTERNAL "python3 is available") else() message(WARNING "Could not determine MonetDB Python testing files instalation directory") diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -31,7 +31,7 @@ string(REPLACE "\\" "" QXsysconfdir set(PYTHON3 "${Python3_EXECUTABLE}") string(REPLACE "\\" "" QXPYTHON3 "${Python3_EXECUTABLE}") -string(REPLACE "\\" "" QXPYTHON3_LIBDIR "${PYTHON_LIBDIR}") +string(REPLACE "\\" "" QXPYTHON3_LIBDIR "${PYTHON3_LIBDIR}") if(CMAKE_SIZEOF_VOID_P EQUAL 4) set(BITS32_FALSE "#") @@ -57,10 +57,10 @@ configure_file(monet_options.py.in ${CMA configure_file(listexports.py.in ${CMAKE_CURRENT_BINARY_DIR}/listexports.py @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Mtest.py PERMISSIONS ${PROGRAM_PERMISSIONS_DEFAULT} DESTINATION ${BINDIR}) -if(PYTHON_LIBDIR) +if(PYTHON3_LIBDIR) install(FILES Mfilter.py process.py ${CMAKE_CURRENT_BINARY_DIR}/monet_options.py __init__.py ${CMAKE_CURRENT_BINARY_DIR}/listexports.py exportutils.py malcheck.py - DESTINATION ${CMAKE_INSTALL_PREFIX}/${PYTHON_LIBDIR}/MonetDBtesting) + DESTINATION ${PYTHON3_LIBDIR}/MonetDBtesting) endif() if(WIN32) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Merge with default.
Changeset: fb8735b42613 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fb8735b42613 Modified Files: CMakeLists.txt CMakeReadme.txt clients/Tests/exports.stable.out common/options/monet_options.c common/utils/msabaoth.c common/utils/msabaoth.h monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/uuid.c monetdb5/modules/mal/clients.c monetdb_config.h.in sql/backends/monet5/sql_gencode.c testing/Mtest.py.in tools/merovingian/daemon/forkmserver.c tools/mserver/mserver5.c Branch: cmake-fun Log Message: Merge with default. diffs (truncated from 772 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,7 +81,6 @@ endif() # Extensions to use (please add to the OPTIONS_LIST bellow whenever a new option is added) set(ENABLE_CINTEGRATION "AUTO" CACHE STRING "Enable support for C UDFs (default=AUTO)") # Check with HAVE_CUDF -set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server (involves security risks) (default=YES)") # Check with HAVE_CONSOLE set(ENABLE_EMBEDDED "NO" CACHE STRING "Enable support for running MonetDB as a library (default=NO)") # TODO check this set(ENABLE_FITS "AUTO" CACHE STRING "Enable support for FITS (default=AUTO)") # Check with HAVE_FITS set(ENABLE_GDK "YES" CACHE STRING "Enable support for GDK (default=YES)") # Check with HAVE_GDK @@ -110,14 +109,14 @@ set(WITH_LIBXML2 "AUTO" CACHE STRING "In set(WITH_LZ4 "AUTO" CACHE STRING "Include lz4 library support (default=AUTO)") # Check with HAVE_LIBLZ4 set(WITH_PROJ "AUTO" CACHE STRING "Include proj support (default=AUTO)") # Check with HAVE_PROJ set(WITH_READLINE "AUTO" CACHE STRING "Include readline support (default=AUTO)") # Check with HAVE_LIBREADLINE -set(WITH_REGEX "AUTO" CACHE STRING "Use either PCRE or POSIX regular expressions (default=PCRE if available)") # Check with HAVE_LIBPCRE and HAVE_POSIX_REGEX +set(WITH_REGEX "AUTO" CACHE STRING "Use either PCRE or POSIX regular expressions (default=AUTO)") # Check with HAVE_LIBPCRE and HAVE_POSIX_REGEX set(WITH_SNAPPY "AUTO" CACHE STRING "Include snappy support (default=AUTO)") # Check with HAVE_LIBSNAPPY set(WITH_UUID "AUTO" CACHE STRING "Include UUID support (default=AUTO)") # Check with HAVE_UUID set(WITH_VALGRIND "NO" CACHE STRING "Include valgrind support (default=NO)") # Check with HAVE_VALGRIND set(WITH_ZLIB "AUTO" CACHE STRING "Include zlib support (default=AUTO)") # Check with HAVE_LIBZ # Cmake doesn't support string case insensitive compare, so convert MonetDB options to uppercase on every invocation -set(OPTIONS_LIST CINTEGRATION CONSOLE EMBEDDED FITS GDK GEOM INT128 LIDAR MAPI MONETDB5 NETCDF ODBC PY3INTEGRATION +set(OPTIONS_LIST CINTEGRATION EMBEDDED FITS GDK GEOM INT128 LIDAR MAPI MONETDB5 NETCDF ODBC PY3INTEGRATION RINTEGRATION SAMTOOLS SANITIZER SHP SQL STATIC_ANALYSIS STRICT TESTING BZ2 CURL LIBLZMA LIBXML2 LZ4 PROJ READLINE REGEX SNAPPY UUID VALGRIND ZLIB) foreach(EXTENSION IN LISTS OPTIONS_LIST) @@ -562,11 +561,6 @@ if(${ENABLE_EMBEDDED} STREQUAL "YES") else() set(HAVE_EMBEDDED OFF CACHE INTERNAL "Embedded MonetDB is enabled" FORCE) endif() -if(${ENABLE_CONSOLE} STREQUAL "YES") - set(HAVE_CONSOLE ON CACHE INTERNAL "Direct console on the server is available" FORCE) -else() - set(HAVE_CONSOLE OFF CACHE INTERNAL "Direct console on the server is available" FORCE) -endif() if(${ENABLE_STATIC_ANALYSIS} STREQUAL "YES") set(STATIC_CODE_ANALYSIS ON CACHE INTERNAL "Static code analysis is available" FORCE) else() diff --git a/CMakeReadme.txt b/CMakeReadme.txt --- a/CMakeReadme.txt +++ b/CMakeReadme.txt @@ -25,11 +25,6 @@ CMAKE_STATIC_LIBRARY_PREFIX CMAKE_C_COMPILER_ID - Which compiler to use CMAKE_INSTALL_PREFIX - Installation directory -- Compilation options -ENABLE_SANITIZER -ENABLE_STATIC_ANALYSIS -ENABLE_STRICT - - Available MonetDB features ENABLE_CINTEGRATION ENABLE_EMBEDDED - TODO check this diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -2374,8 +2374,6 @@ str mal_quote(const char *msg, size_t si MT_Lock mal_remoteLock; void mal_resource_reset(void) __attribute__((__visibility__("hidden"))); void mal_runtime_reset(void) __attribute__((__visibility__("hidden"))); -str mal_session_uuid; -int mal_trace; void mal_unquote(char *msg); str manifoldRef; str mapiRef; @@ -2431,6 +2429,7 @@ char *msab_getDBfarm(char **ret); char *msab_getDBname(char **ret); char *msab_getMyStatus(sabdb **ret); char *msab_getStatus(sabdb **ret, char *dbname); +char *msab_getUUID(char **ret); char *msab_getUplogInfo(sabuplog *ret, const sabdb *db); char *msab_marchConnection(const char *host, const int port); char
MonetDB: cmake-fun - Merge with default again (it didn't had sql...
Changeset: 6019abc61afd for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6019abc61afd Modified Files: NT/monetdb_config.h.in clients/Tests/exports.stable.out common/options/monet_options.c common/utils/msabaoth.c common/utils/msabaoth.h configure.ag monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_client.c monetdb5/mal/mal_client.h monetdb5/mal/mal_debugger.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_session.c monetdb5/modules/atoms/uuid.c monetdb5/modules/mal/clients.c monetdb5/tools/Tests/mserver5--help.stable.err monetdb5/tools/Tests/mserver5--help.stable.err.Windows sql/backends/monet5/sql_gencode.c sql/backends/monet5/vaults/bam/Tests/bam_lib_mal.stable.err sql/backends/monet5/vaults/bam/Tests/bam_lib_mal.stable.out sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.out.int128 testing/Mtest.py.in tools/merovingian/daemon/forkmserver.c tools/mserver/mserver5.c Branch: cmake-fun Log Message: Merge with default again (it didn't had sql_gencode.c changes), diffs (truncated from 451 to 300 lines): diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -136,9 +136,6 @@ /* Define if you have the CommonCrypto library */ /* #undef HAVE_COMMONCRYPTO */ -/* If the console should be used */ -#define HAVE_CONSOLE 1 - /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -300,21 +300,6 @@ AC_ARG_ENABLE(py3integration, enable_py3integration=$enableval, enable_py3integration=$dft_py3integration) -# The console is a direct client hooked onto the kernel with full -# administrative privileges, bypassing any security checks. It is -# handy only during development. -# We simply can't disable it for now because Testing gets hopelessly -# upset about it, but we can offer to the user to disable it for -# increased security. -dft_console=yes -AC_ARG_ENABLE([console], - [AS_HELP_STRING([--enable-console], - [enables direct console on the server (involves security risks) (default=yes)])], - [enable_console="$enableval"], - [enable_console=$dft_console]) -AS_VAR_IF([enable_console], [no], [], - [AC_DEFINE([HAVE_CONSOLE], 1, [If the console should be used])]) - dft_int128=auto AC_ARG_ENABLE([int128], [AS_HELP_STRING([--enable-int128], @@ -2954,7 +2939,6 @@ for comp in \ 'monetdb5 ' \ 'sql ' \ 'geom ' \ - 'console ' \ 'py2integration' \ 'py3integration' \ 'rintegration ' \ diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c --- a/monetdb5/mal/mal_client.c +++ b/monetdb5/mal/mal_client.c @@ -7,11 +7,10 @@ */ /* - * Clients gain access to the Monet server through a internet connection - * or through its server console. Access through the internet requires - * a client program at the source, which addresses the default port of a - * running server. The functionality of the server console is limited. - * It is a textual interface for expert use. + * Clients gain access to the Monet server through a internet connection. + * Access through the internet requires a client program at the source, + * which addresses the default port of a running server. It is a textual + * interface for expert use. * * At the server side, each client is represented by a session record * with the current status, such as name, file descriptors, namespace, @@ -19,8 +18,7 @@ * control. * * The number of clients permitted concurrent access is a run time - * option. The console is the first and is always present. It reads - * from standard input and writes to standard output. + * option. * * Client sessions remain in existence until the corresponding * communication channels break. @@ -77,9 +75,7 @@ MCinit(void) } } - MAL_MAXCLIENTS = - /* console */ 1 + - /* client connections */ maxclients; + MAL_MAXCLIENTS = /* client connections */ maxclients; mal_clients = GDKzalloc(sizeof(ClientRec) * MAL_MAXCLIENTS); if( mal_clients == NULL){ fprintf(stderr,"#MCinit:" MAL_MALLOC_FAIL); @@ -138,11 +134,6 @@ MCnewClient(void) { Client c; MT_lock_set(_contextLock); - if (mal_clients[CONSOLE].user && mal_clients[CONSOLE].mode == FINISHCLIENT) { - /*system shutdown in progress */ - MT_lock_unset(_contextLock); - return NULL; - } for (c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { if (c->mode == FREECLIENT) {
MonetDB: cmake-fun - Cleanup include header files for MSVC compi...
Changeset: 5d33871a5cd1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5d33871a5cd1 Modified Files: CMakeLists.txt CMakeReadme.txt clients/mapiclient/mclient.c clients/mapiclient/prompt.c clients/mapiclient/stethoscope.c clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c common/stream/stream.c common/utils/msabaoth.c common/utils/mutils.c gdk/gdk.h gdk/gdk_atoms.h gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_storage.c monetdb5/mal/mal_linker.c monetdb5/mal/mal_sabaoth.c monetdb_config.h.in tools/mserver/mserver5.c Branch: cmake-fun Log Message: Cleanup include header files for MSVC compilation. I hope it still compiles. diffs (truncated from 681 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -560,7 +560,7 @@ endif() if("${ENABLE_TESTING}" STREQUAL "YES" AND NOT HAVE_PYTHON3) message(FATAL_ERROR "A valid Python 3 interpreter is required for MonetDB testing tools") endif() -if("${ENABLE_TESTING}" STREQUAL "YES" AND HAVE_PYTHON3) +if("${ENABLE_TESTING}" MATCHES "^YES|AUTO$" AND HAVE_PYTHON3) set(HAVE_TESTING ON CACHE INTERNAL "Test suite is enabled" FORCE) else() set(HAVE_TESTING OFF CACHE INTERNAL "Test suite is enabled" FORCE) diff --git a/CMakeReadme.txt b/CMakeReadme.txt --- a/CMakeReadme.txt +++ b/CMakeReadme.txt @@ -45,8 +45,11 @@ ENABLE_ODBC ENABLE_PY3INTEGRATION ENABLE_RINTEGRATION ENABLE_SAMTOOLS +ENABLE_SANITIZER ENABLE_SHP ENABLE_SQL +ENABLE_STATIC_ANALYSIS +ENABLE_STRICT ENABLE_TESTING - GNU installation directories (only on UNIX platforms) diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -15,37 +15,32 @@ #include "monetdb_config.h" #include "mapi.h" -#ifdef NATIVE_WIN32 -#include "monet_getopt.h" -#include -#else -#include "getopt.h" -#include -#include/* strcasecmp */ -#endif +#include "stream.h" +#include "msqldump.h" +#include "mprompt.h" +#include "mutils.h" +#include "dotmonetdb.h" #include #ifdef HAVE_LIBREADLINE #include #include #include "ReadlineTools.h" #endif -#include "stream.h" -#include "msqldump.h" -#include "mprompt.h" -#include "mutils.h"/* mercurial_revision */ -#include "dotmonetdb.h" - #include - #ifdef HAVE_ICONV #include #ifndef NATIVE_WIN32 #include #endif #endif - -#if defined(_MSC_VER) && _MSC_VER >= 1400 +#ifdef NATIVE_WIN32 +#include "monet_getopt.h" +#include #define isatty _isatty +#else +#include "getopt.h" +#include +#include/* strcasecmp */ #endif enum modes { @@ -139,16 +134,13 @@ static char *nullstring = default_nullst #include #ifdef NATIVE_WIN32 #include /* ftime */ +#define fileno _fileno #else #include /* gettimeofday */ #include #include/* TIOCGWINSZ/TIOCSWINSZ */ #endif -#if defined(_MSC_VER) && _MSC_VER >= 1400 -#define fileno _fileno -#endif - #define my_isspace(c) ((c) == '\f' || (c) == '\n' || (c) == ' ') #include diff --git a/clients/mapiclient/prompt.c b/clients/mapiclient/prompt.c --- a/clients/mapiclient/prompt.c +++ b/clients/mapiclient/prompt.c @@ -7,16 +7,14 @@ */ #include "monetdb_config.h" -#ifndef NATIVE_WIN32 +#include "mprompt.h" +#ifdef NATIVE_WIN32 +#define fileno _fileno +#include +#else #include #include #endif -#include "mprompt.h" - -#ifdef _MSC_VER -#define fileno _fileno -#include -#endif char * prompt_getlogin(void) diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c --- a/clients/mapiclient/stethoscope.c +++ b/clients/mapiclient/stethoscope.c @@ -20,36 +20,30 @@ #include "stream.h" #include "stream_socket.h" #include "mapi.h" -#include -#include -#ifdef HAVE_UNISTD_H -# include -#endif #include "mprompt.h" #include "dotmonetdb.h" #include "eventparser.h" +#include +#include #ifdef NATIVE_WIN32 # include "monet_getopt.h" # include +# define open _open +# define close _close +# define read _read +# define write _write #else # include "getopt.h" # include # include -#endif - -#if defined(_MSC_VER) && _MSC_VER >= 1400 -#define open _open -#define close _close -#define read _read -#define write _write +# include #endif #ifndef INVALID_SOCKET #define INVALID_SOCKET (-1) #endif - #define die(dbh, hdl) \ do {\ if (hdl)\ diff --git a/clients/mapiclient/tachograph.c b/clients/mapiclient/tachograph.c --- a/clients/mapiclient/tachograph.c +++ b/clients/mapiclient/tachograph.c @@ -16,28 +16,26 @@ #include "stream.h"
MonetDB: cmake-fun - Cmake doesn't support string case insensiti...
Changeset: a395c4a8d41a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a395c4a8d41a Modified Files: CMakeLists.txt gdk/gdk_logger.c monetdb_config.h.in Branch: cmake-fun Log Message: Cmake doesn't support string case insensitive compare, so convert MonetDB options to uppercase on every invocation. diffs (78 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,7 +79,7 @@ if(NOT CMAKE_BUILD_TYPE) # Set default b set(CMAKE_BUILD_TYPE Debug CACHE STRING "The type of build" FORCE) endif() -# Extensions to use +# Extensions to use (please add to the OPTIONS_LIST bellow whenever a new option is added) set(ENABLE_CINTEGRATION "AUTO" CACHE STRING "Enable support for C UDFs (default=AUTO)") # Check with HAVE_CUDF set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server (involves security risks) (default=YES)") # Check with HAVE_CONSOLE set(ENABLE_EMBEDDED "NO" CACHE STRING "Enable support for running MonetDB as a library (default=NO)") # TODO check this @@ -102,7 +102,7 @@ set(ENABLE_STATIC_ANALYSIS "NO" CACHE ST set(ENABLE_STRICT "${DFT_STRICT}" CACHE STRING "Enable strict compiler flags (default=YES for development sources, NO for tarball instalation)") set(ENABLE_TESTING "AUTO" CACHE STRING "Enable support for testing (default=AUTO)") # Check with HAVE_TESTING -# Optional extra libraries +# Optional extra libraries (please add to the OPTIONS_LIST bellow whenever a new option is added) set(WITH_BZ2 "AUTO" CACHE STRING "Include bz2 support (default=AUTO)") # Check with HAVE_LIBLZMA set(WITH_CURL "AUTO" CACHE STRING "Include cURL support (default=AUTO)") # Check with HAVE_CURL set(WITH_LIBLZMA "AUTO" CACHE STRING "Include liblzma support (default=AUTO)") # Check with HAVE_LIBLZMA @@ -116,6 +116,19 @@ set(WITH_UUID "AUTO" CACHE STRING "Inclu set(WITH_VALGRIND "NO" CACHE STRING "Include valgrind support (default=NO)") # Check with HAVE_VALGRIND set(WITH_ZLIB "AUTO" CACHE STRING "Include zlib support (default=AUTO)") # Check with HAVE_LIBZ +# Cmake doesn't support string case insensitive compare, so convert MonetDB options to uppercase on every invocation +set(OPTIONS_LIST CINTEGRATION CONSOLE EMBEDDED FITS GDK GEOM INT128 LIDAR MAPI MONETDB5 NETCDF ODBC PY3INTEGRATION + RINTEGRATION SAMTOOLS SANITIZER SHP SQL STATIC_ANALYSIS STRICT TESTING + BZ2 CURL LIBLZMA LIBXML2 LZ4 PROJ READLINE REGEX SNAPPY UUID VALGRIND ZLIB) +foreach(EXTENSION IN LISTS OPTIONS_LIST) + if(ENABLE_${EXTENSION}) + string(TOUPPER "${ENABLE_${EXTENSION}}" ENABLE_${EXTENSION}) + endif() + if(WITH_${EXTENSION}) + string(TOUPPER "${WITH_${EXTENSION}}" WITH_${EXTENSION}) + endif() +endforeach() + # Instalation directories set(PROGRAM_PERMISSIONS_DEFAULT OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # required for some instalation files if(WIN32) # Variables with _DIR are used for monetdb_config.h file, which need proper escape on Windows @@ -331,7 +344,9 @@ else() endif() # Thread libraries -set(THREADS_PREFER_PTHREAD_FLAG ON) # We do prefer pthreads +if(NOT WIN32) + set(THREADS_PREFER_PTHREAD_FLAG ON) # We do prefer pthreads on UNIX platforms +endif() find_package(Threads) set(THREAD_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}") check_include_file("pthread.h" HAVE_PTHREAD_H) # Distinguish between posix thread and win32 thread libraries diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -90,7 +90,7 @@ #ifdef NATIVE_WIN32 #define getfilepos _ftelli64 -#elif defined(HAVE_FSEEKO) +#elif defined(HAVE_FSEEKO_MT) #define getfilepos ftello #else #define getfilepos ftell diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -120,8 +120,8 @@ /* Define to 1 if the fits module is to be enabled */ #cmakedefine HAVE_FITS 1 -/* Define to 1 if you have the `fseeko' function. */ -#cmakedefine HAVE_FSEEKO (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || defined(__MACH__) || defined(__FreeBSD__) +/* Define if you have the `fseeko' function. (Using _MT suffix to avoid conflict with Python.h header file, easy fix) */ +#define HAVE_FSEEKO_MT (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || defined(__MACH__) || defined(__FreeBSD__) /* Have huge */ #cmakedefine HAVE_HGE 1 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - The header file crtdbg.h is required for ms...
Changeset: c4818066e4a6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c4818066e4a6 Modified Files: tools/mserver/mserver5.c Branch: cmake-fun Log Message: The header file crtdbg.h is required for mserver5.c diffs (15 lines): diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -18,10 +18,10 @@ #include "mal_authorize.h" #include "msabaoth.h" #include "mutils.h" - #include #ifdef NATIVE_WIN32 +#include #include "monet_getopt.h" #define getcwd _getcwd #else ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Do it the hard way.
Changeset: 2277cd4217c1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2277cd4217c1 Modified Files: gdk/gdk_logger.c monetdb_config.h.in Branch: cmake-fun Log Message: Do it the hard way. diffs (25 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -90,7 +90,7 @@ #ifdef NATIVE_WIN32 #define getfilepos _ftelli64 -#elif (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) +#elif defined(HAVE_FSEEKO) #define getfilepos ftello #else #define getfilepos ftell diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -120,6 +120,9 @@ /* Define to 1 if the fits module is to be enabled */ #cmakedefine HAVE_FITS 1 +/* Define to 1 if you have the `fseeko' function. */ +#cmakedefine HAVE_FSEEKO (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || defined(__MACH__) || defined(__FreeBSD__) + /* Have huge */ #cmakedefine HAVE_HGE 1 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Fixed iconv and uuid scripts.
Changeset: 06fd57c6f7aa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=06fd57c6f7aa Modified Files: cmake/FindIconvMonetDB.cmake cmake/FindUUID.cmake Branch: cmake-fun Log Message: Fixed iconv and uuid scripts. diffs (81 lines): diff --git a/cmake/FindIconvMonetDB.cmake b/cmake/FindIconvMonetDB.cmake --- a/cmake/FindIconvMonetDB.cmake +++ b/cmake/FindIconvMonetDB.cmake @@ -8,16 +8,15 @@ # ICONV_FOUND - True if iconv found. # ICONV_IS_BUILT_IN - If iconv is built in -if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") # On FreeBSD, libiconv_open symbol is required - check_symbol_exists("libiconv_open" "iconv.h" ICONV_IS_BUILT_IN) -else() +# On FreeBSD, libiconv_open symbol is required and not supplied by the standard C library, so force the library search +if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") check_symbol_exists("iconv_open" "iconv.h" ICONV_IS_BUILT_IN) endif() if(ICONV_IS_BUILT_IN) - set(ICONV_INCLUDE_DIR "") - set(ICONV_LIBRARIES "") - set(ICONV_FOUND ON) + set(ICONV_INCLUDE_DIR "" CACHE INTERNAL "iconv include directories path") + set(ICONV_LIBRARIES "" CACHE INTERNAL "iconv libraries path") + set(ICONV_FOUND ON CACHE INTERNAL "iconv is available") else() # Look for the header file and library find_path(ICONV_INCLUDE_DIR NAMES "iconv.h" DOC "iconv include directory") diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake --- a/cmake/FindUUID.cmake +++ b/cmake/FindUUID.cmake @@ -5,33 +5,31 @@ # UUID_LIBRARIES - List of libraries when using uuid. # UUID_FOUND - True if uuid found. +cmake_push_check_state() # Look for the header file. find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h) - -# Look for the library. -if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") # Linux requires a separate library for UUID - find_library(UUID_LIBRARIES NAMES uuid) +if(UUID_INCLUDE_DIR) + set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${UUID_INCLUDE_DIR}") else() - set(UUID_LIBRARIES "") + set(UUID_INCLUDE_DIR "" CACHE INTERNAL "uuid include directories") endif() - +# Look for the library. +find_library(UUID_LIBRARIES NAMES uuid) # Linux requires a separate library for UUID if(UUID_LIBRARIES) - cmake_push_check_state() - set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${UUID_INCLUDE_DIR}") set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${UUID_LIBRARIES}") - check_symbol_exists("uuid_generate" "uuid/uuid.h" HAVE_UUID_GENERATE) # some uuid instalations don't supply this symbol - cmake_pop_check_state() - if(NOT HAVE_UUID_GENERATE) - set(UUID_FOUND OFF) - endif() +else() + set(UUID_LIBRARIES "" CACHE INTERNAL "uuid libraries path") endif() +# Find uuid_generate symbol, which we require and some platforms don't have it +check_symbol_exists("uuid_generate" "uuid/uuid.h" HAVE_UUID_GENERATE) +cmake_pop_check_state() -# On Linux, both library and include directory path must be set -include(FindPackageHandleStandardArgs) -if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - find_package_handle_standard_args(UUID DEFAULT_MSG UUID_LIBRARIES UUID_INCLUDE_DIR) -else() - find_package_handle_standard_args(UUID DEFAULT_MSG UUID_INCLUDE_DIR) +if(HAVE_UUID_GENERATE) + include(FindPackageHandleStandardArgs) + if(${UUID_LIBRARIES} STREQUAL "") + find_package_handle_standard_args(UUID DEFAULT_MSG UUID_INCLUDE_DIR) + else() + find_package_handle_standard_args(UUID DEFAULT_MSG UUID_LIBRARIES UUID_INCLUDE_DIR) + endif() + mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARIES) endif() - -mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARIES) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Ok, all compilers on Linux use the same inc...
Changeset: 9ffe173aae9a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9ffe173aae9a Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Ok, all compilers on Linux use the same include directory, so set _GNU_SOURCE and _XOPEN_SOURCE macros to every compiler there. diffs (24 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,6 +164,10 @@ function(MT_addCompilerFlag REGEX_EXPRES endif() endfunction() +if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + add_definitions(-D_XOPEN_SOURCE -D_GNU_SOURCE) + set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE") # required for tests +endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") MT_addCompilerFlag("-no-gcc-include-dir" "-no-gcc-include-dir" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) @@ -176,9 +180,6 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte endif() endif() set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON CACHE INTERNAL "NaN cannot be used as an initializer") # This hack is only required by the Intel compiler -elseif(${CMAKE_C_COMPILER_ID} STREQUAL "GNU") # Make sure this if branch comes after the Intel one - add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE) # The former is required for GNU extensions and the latter for strptime function - set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE") # required for tests elseif(MSVC) set(restrict "__restrict") # C99 feature not present in MSVC set(inline "__inline") # C99 feature only available on C++ compiler in MSVC https://docs.microsoft.com/en-us/cpp/cpp/inline-functions-cpp?view=vs-2015 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Fix.
Changeset: 49e522ffb42f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=49e522ffb42f Modified Files: cmake/FindUUID.cmake Branch: cmake-fun Log Message: Fix. diffs (12 lines): diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake --- a/cmake/FindUUID.cmake +++ b/cmake/FindUUID.cmake @@ -26,7 +26,7 @@ cmake_pop_check_state() if(HAVE_UUID_GENERATE) include(FindPackageHandleStandardArgs) - if(${UUID_LIBRARIES} STREQUAL "") + if("${UUID_LIBRARIES}" STREQUAL "") find_package_handle_standard_args(UUID DEFAULT_MSG UUID_INCLUDE_DIR) else() find_package_handle_standard_args(UUID DEFAULT_MSG UUID_LIBRARIES UUID_INCLUDE_DIR) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Some compiler parameters are available in e...
Changeset: 7db80ff1b93a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7db80ff1b93a Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Some compiler parameters are available in every compiler, so don't test for them. diffs (85 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -603,12 +603,13 @@ else() # GCC, Clang and Apple clang MT_addCompilerFlag("-g3" "-g3" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) MT_addCompilerFlag("-g3" "-g3" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) - if(NOT ${CMAKE_C_FLAGS_RELEASE} MATCHES "D_FORTIFY_SOURCE") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -D_FORTIFY_SOURCE=2") - set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -D_FORTIFY_SOURCE=2") - message(STATUS "Added definition _FORTIFY_SOURCE=2 for Release, RelWithDebugInfo and MinSizeRel builds") - endif() + MT_removeCompilerFlag("-D_FORTIFY_SOURCE=[013-9]" "-D_FORTIFY_SOURCE=x" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) + MT_removeCompilerFlag("-D_FORTIFY_SOURCE=[013-9]" "-D_FORTIFY_SOURCE=x" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) + MT_removeCompilerFlag("-D_FORTIFY_SOURCE=[013-9]" "-D_FORTIFY_SOURCE=x" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) + MT_addCompilerFlag("-D_FORTIFY_SOURCE=2" "-D_FORTIFY_SOURCE=2" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) + MT_addCompilerFlag("-D_FORTIFY_SOURCE=2" "-D_FORTIFY_SOURCE=2" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) + MT_addCompilerFlag("-D_FORTIFY_SOURCE=2" "-D_FORTIFY_SOURCE=2" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) + # Add -fomit-frame-pointer for non debug builds MT_addCompilerFlag("-fomit-frame-pointer" "-fomit-frame-pointer" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("-fomit-frame-pointer" "-fomit-frame-pointer" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) @@ -636,16 +637,17 @@ function(MT_checkCompilerFlag Flag) # WA cmake_pop_check_state() if(COMPILER_${FLAG_TEST}) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}" PARENT_SCOPE) + message(STATUS "Added ${Flag} flag for all build(s)") endif() endif() endfunction() if(${ENABLE_STRICT} STREQUAL "YES") if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$") - MT_checkCompilerFlag("-W") - MT_checkCompilerFlag("-Werror") - MT_checkCompilerFlag("-Wall") - MT_checkCompilerFlag("-Wextra") + MT_addCompilerFlag("-W" "-W" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("-Werror" "-Werror" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("-Wall" "-Wall" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("-Wextra" "-Wextra" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_checkCompilerFlag("-Werror-implicit-function-declaration") MT_checkCompilerFlag("-Wpointer-arith") MT_checkCompilerFlag("-Wundef") @@ -676,26 +678,30 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_checkCompilerFlag("-Wunreachable-code") elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(NOT WIN32) - MT_checkCompilerFlag("${COMPILER_OPTION}shared-intel") + MT_addCompilerFlag("${COMPILER_OPTION}shared-intel" "${COMPILER_OPTION}shared-intel" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() - MT_checkCompilerFlag("${COMPILER_OPTION}Wall") - MT_checkCompilerFlag("${COMPILER_OPTION}Wcheck") - MT_checkCompilerFlag("${COMPILER_OPTION}Werror-all") - MT_checkCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}we140,147,181,266,271,593,810") - MT_checkCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd193,279,981,1357,1418,1419,2259") + MT_addCompilerFlag("${COMPILER_OPTION}Wall" "${COMPILER_OPTION}Wall" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("${COMPILER_OPTION}Wcheck" "${COMPILER_OPTION}Wcheck" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("${COMPILER_OPTION}Werror-all" "${COMPILER_OPTION}Werror-all" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}we140,147,181,266,271,593,810"
MonetDB: cmake-fun - The Intel compiler no longer throws that ma...
Changeset: 13f102e8f3fa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=13f102e8f3fa Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: The Intel compiler no longer throws that many errors. diffs (13 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -707,8 +707,7 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_addCompilerFlag("${COMPILER_OPTION}Wall" "${COMPILER_OPTION}Wall" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("${COMPILER_OPTION}Wcheck" "${COMPILER_OPTION}Wcheck" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("${COMPILER_OPTION}Werror-all" "${COMPILER_OPTION}Werror-all" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}we140,147,181,266,271,593,810" "${COMPILER_OPTION}${INTEL_OPTION_EXTRA}we140,147,181,266,271,593,810" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd193,279,981,1357,1418,1419,2259" "${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd193,279,981,1357,1418,1419,2259" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd2259" "${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd2259" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) elseif(MSVC) MT_addCompilerFlag("/WX" "/WX" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Fixed flags for Intel compiler on Windows.
Changeset: 1b6693904420 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1b6693904420 Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Fixed flags for Intel compiler on Windows. diffs (33 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -594,12 +594,16 @@ elseif(${CMAKE_C_COMPILER_ID} STREQUAL " MT_removeCompilerFlag("${COMPILER_OPTION}O[0-24-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_removeCompilerFlag("${COMPILER_OPTION}O[0-24-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) MT_removeCompilerFlag("${COMPILER_OPTION}O[02-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) - if(WIN32) - MT_addCompilerFlag("${COMPILER_OPTION}Od" "${COMPILER_OPTION}Od" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - endif() MT_addCompilerFlag("${COMPILER_OPTION}O3" "${COMPILER_OPTION}O3" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("${COMPILER_OPTION}O3" "${COMPILER_OPTION}O3" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) MT_addCompilerFlag("${COMPILER_OPTION}O1" "${COMPILER_OPTION}O1" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) + if(WIN32) + MT_addCompilerFlag("${COMPILER_OPTION}Od" "${COMPILER_OPTION}Od" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) + MT_addCompilerFlag("/GR-" "/GR-" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("/Qsafeseh-" "/Qsafeseh-" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + else() + MT_addCompilerFlag("-shared-intel" "-shared-intel" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + endif() if(CMAKE_VERSION VERSION_LESS 3.1) MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}std=c99" "${COMPILER_OPTION}${INTEL_OPTION_EXTRA}std=c99" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() @@ -693,9 +697,6 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_checkCompilerFlag("-Wnested-externs") MT_checkCompilerFlag("-Wunreachable-code") elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") - if(NOT WIN32) - MT_addCompilerFlag("${COMPILER_OPTION}shared-intel" "${COMPILER_OPTION}shared-intel" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - endif() MT_addCompilerFlag("${COMPILER_OPTION}Wall" "${COMPILER_OPTION}Wall" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("${COMPILER_OPTION}Wcheck" "${COMPILER_OPTION}Wcheck" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("${COMPILER_OPTION}Werror-all" "${COMPILER_OPTION}Werror-all" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Make the codebase aware of the user enablin...
Changeset: cf1d93a09342 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf1d93a09342 Modified Files: CMakeLists.txt clients/CMakeLists.txt clients/mapiclient/CMakeLists.txt clients/odbc/CMakeLists.txt cmake/FindExtraLibraries.cmake geom/monetdb5/CMakeLists.txt monetdb5/extras/rapi/CMakeLists.txt monetdb5/modules/kernel/mmath.c sql/backends/monet5/UDF/pyapi3/CMakeLists.txt sql/backends/monet5/vaults/bam/CMakeLists.txt sql/backends/monet5/vaults/fits/CMakeLists.txt sql/backends/monet5/vaults/lidar/CMakeLists.txt sql/backends/monet5/vaults/netcdf/CMakeLists.txt sql/backends/monet5/vaults/shp/CMakeLists.txt Branch: cmake-fun Log Message: Make the codebase aware of the user enabling/disabling an extension after the first run of cmake. diffs (truncated from 592 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,8 +175,10 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 file(READ "${ROOT}/usr/include/math.h" TMPTXT) string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION) - if(NOT FOUND_VERSION) - set(INTEL_MATH_H_HACK ON CACHE INTERNAL "must use intel math.h hack") + if(FOUND_VERSION) + set(INTEL_MATH_H_HACK OFF CACHE INTERNAL "must use intel math.h hack" FORCE) + else() + set(INTEL_MATH_H_HACK ON CACHE INTERNAL "must use intel math.h hack" FORCE) endif() endif() set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON CACHE INTERNAL "NaN cannot be used as an initializer") # This hack is only required by the Intel compiler @@ -303,10 +305,10 @@ if(Python3_Interpreter_FOUND) string(LENGTH "${PYTHON3_LIBDIR}" PYTHON3_LIBDIR_PREFIX_LENGTH) math(EXPR LEN1 "${LIBDIR_LENGTH}+1") # add the / separator string(SUBSTRING "${PYTHON3_LIBDIR}" ${LEN1} -1 PYTHON_LIBDIR) # remove the prefix + set(HAVE_PYTHON3 ON CACHE INTERNAL "python3 is available") else() message(WARNING "Could not determine MonetDB Python testing files instalation directory") endif() - set(HAVE_PYTHON3 ON CACHE INTERNAL "python3 is available") endif() endif() @@ -404,6 +406,7 @@ endif() if(NOT ${WITH_REGEX} MATCHES "^AUTO|PCRE|POSIX$") message(FATAL_ERROR "WITH_REGEX argument must be either AUTO, PCRE or POSIX") endif() +set(HAVE_LIBPCRE OFF CACHE INTERNAL "pcre library is available" FORCE) # disable before the test if(NOT ${WITH_REGEX} STREQUAL "POSIX") include(FindPCRE) @@ -418,14 +421,14 @@ if(NOT ${WITH_REGEX} STREQUAL "POSIX") else() cmake_push_check_state() set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${PCRE_INCLUDE_DIR}") - check_symbol_exists("PCRE_CONFIG_UTF8" "pcre.h" HAVE_LIBPCRE) #Test for UTF-8 support on PCRE library (PCRE_CONFIG_UTF8 is a macro) + check_symbol_exists("PCRE_CONFIG_UTF8" "pcre.h" HAVE_PCREUTF8) #Test for UTF-8 support on PCRE library (PCRE_CONFIG_UTF8 is a macro) cmake_pop_check_state() - if(NOT HAVE_LIBPCRE) - if(${WITH_REGEX} STREQUAL "PCRE") - message(FATAL_ERROR "PCRE library found but no UTF-8 support") - else() - message(STATUS "PCRE library found but no UTF-8 support") - endif() + if(HAVE_PCREUTF8) + set(HAVE_LIBPCRE ON CACHE INTERNAL "pcre library is available" FORCE) + elseif(${WITH_REGEX} STREQUAL "PCRE") + message(FATAL_ERROR "PCRE library found but no UTF-8 support") + else() + message(STATUS "PCRE library found but no UTF-8 support") endif() endif() elseif(${WITH_REGEX} STREQUAL "PCRE") @@ -435,8 +438,8 @@ if(NOT ${WITH_REGEX} STREQUAL "POSIX") endif() endif() if(NOT HAVE_LIBPCRE) - set(PCRE_INCLUDE_DIR "" CACHE INTERNAL "pcre include directory") - set(PCRE_LIBRARIES "" CACHE INTERNAL "pcre libraries to link") + set(PCRE_INCLUDE_DIR "" CACHE INTERNAL "pcre include directory" FORCE) + set(PCRE_LIBRARIES "" CACHE INTERNAL "pcre libraries to link" FORCE) check_symbol_exists("regcomp" "regex.h" HAVE_POSIX_REGEX) endif() if(NOT HAVE_LIBPCRE AND NOT HAVE_POSIX_REGEX) @@
MonetDB: cmake-fun - Comments and small fixes.
Changeset: 20db4f295559 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20db4f295559 Modified Files: CMakeLists.txt cmake/FindUUID.cmake monetdb_config.h.in Branch: cmake-fun Log Message: Comments and small fixes. diffs (79 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -273,7 +273,6 @@ elseif(UNIX) else() message(FATAL_ERROR "Unknown target operating system") endif() - set(DIR_SEP "'${OS_DIRSEP}'") set(DIR_SEP_STR ${OS_DIRSEP}) set(PATH_SEP "'${OS_PATHSEP}'") @@ -476,7 +475,7 @@ endif() include(FindExtraLibraries) # Header files -check_include_file("libintl.h" HAVE_LIBINTL_H) # Some Linux distributions don't have it +check_include_file("libintl.h" HAVE_LIBINTL_H) # We use it on Windows, and there are ports of this library there check_include_file("pthread.h" HAVE_PTHREAD_H) # Distinguish between posix thread and win32 thread libraries # C types existence @@ -519,7 +518,7 @@ check_symbol_exists("fallocate" "fcntl.h check_symbol_exists("madvise" "sys/mman.h" HAVE_MADVISE) # The Linux kernel can be compiled without madvise check_symbol_exists("mremap" "sys/mman.h" HAVE_MREMAP) # Linux specific, in the future, it might be ported to other platforms check_symbol_exists("pipe2" "fcntl.h;unistd.h" HAVE_PIPE2) # Some libc versions on Linux distributions don't have it -check_symbol_exists("posix_fallocate" "fcntl.h" HAVE_POSIX_FALLOCATE) # Some POSIX systems don't have it +check_symbol_exists("posix_fallocate" "fcntl.h" HAVE_POSIX_FALLOCATE) # Some POSIX systems don't have it (e.g. Macos) check_symbol_exists("posix_madvise" "sys/mman.h" HAVE_POSIX_MADVISE) # The Linux kernel can be compiled without madvise, and posix_madvise is implemented using madvise check_symbol_exists("semtimedop" "sys/types.h;sys/ipc.h;sys/sem.h" HAVE_SEMTIMEDOP) # Some libc versions on Linux distributions don't have it diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake --- a/cmake/FindUUID.cmake +++ b/cmake/FindUUID.cmake @@ -15,16 +15,18 @@ else() set(UUID_LIBRARIES "") endif() -cmake_push_check_state() -set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${UUID_INCLUDE_DIR}") -set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${UUID_LIBRARIES}") -check_symbol_exists("uuid_generate" "uuid/uuid.h" HAVE_UUID_GENERATE) # some uuid instalations don't supply this symbol -cmake_pop_check_state() -if(NOT HAVE_UUID_GENERATE) - set(UUID_FOUND OFF) +if(UUID_LIBRARIES) + cmake_push_check_state() + set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${UUID_INCLUDE_DIR}") + set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${UUID_LIBRARIES}") + check_symbol_exists("uuid_generate" "uuid/uuid.h" HAVE_UUID_GENERATE) # some uuid instalations don't supply this symbol + cmake_pop_check_state() + if(NOT HAVE_UUID_GENERATE) + set(UUID_FOUND OFF) + endif() endif() -# Handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if all listed variables are TRUE. +# On Linux, both library and include directory path must be set include(FindPackageHandleStandardArgs) if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") find_package_handle_standard_args(UUID DEFAULT_MSG UUID_LIBRARIES UUID_INCLUDE_DIR) diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -76,7 +76,6 @@ #endif #include - #endif /* _MSC_VER */ /* location where binaries are installed */ @@ -311,7 +310,7 @@ #cmakedefine SO_EXT "@SO_EXT@" /* Shared Object prefix */ -#define SO_PREFIX "@SO_PREFIX@" +#cmakedefine SO_PREFIX "@SO_PREFIX@" /* Compiling for static code analysis */ #cmakedefine STATIC_CODE_ANALYSIS ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - _mul128 function is only available on 64 bi...
Changeset: 8ba5c00dfc4c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8ba5c00dfc4c Modified Files: CMakeLists.txt gdk/gdk_calc_private.h monetdb_config.h.in Branch: cmake-fun Log Message: _mul128 function is only available on 64 bit MSVC. diffs (38 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,9 +184,6 @@ elseif(MSVC) set(restrict "__restrict") # C99 feature not present in MSVC set(inline "__inline") # C99 feature only available on C++ compiler in MSVC https://docs.microsoft.com/en-us/cpp/cpp/inline-functions-cpp?view=vs-2015 add_definitions(/D_CRT_SECURE_NO_WARNINGS) # TODO it would be nice to remove this, but it requires lots of rewriting - if(CMAKE_SIZEOF_VOID_P EQUAL 8) # Windows 64 bit - set(HAVE__MUL128 ON CACHE INTERNAL "mul128 function is available") - endif() endif() # Tests for large files support diff --git a/gdk/gdk_calc_private.h b/gdk/gdk_calc_private.h --- a/gdk/gdk_calc_private.h +++ b/gdk/gdk_calc_private.h @@ -155,7 +155,7 @@ #define LNGMUL_CHECK(lft, rgt, dst, max, on_overflow) \ MULI4_WITH_CHECK(lft, rgt, lng, dst, max, hge, on_overflow) #else -#if defined(HAVE__MUL128) +#if defined(_M_X64) /* 64 bit MSVC */ #include #pragma intrinsic(_mul128) #define LNGMUL_CHECK(lft, rgt, dst, max, on_overflow) \ diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -225,9 +225,6 @@ /* Define to 1 if you have valgrind installed and want to use it */ #cmakedefine HAVE_VALGRIND 1 -/* Define to 1 if you have the `_mul128' function. */ -#cmakedefine HAVE__MUL128 1 - /* Define to 1 if you have the `__builtin_{add,sub,mul}_overflow' functions. */ #cmakedefine HAVE___BUILTIN_ADD_OVERFLOW 1 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Merge with default.
Changeset: 25b588c440e5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=25b588c440e5 Added Files: sql/test/subquery/Tests/all.sql sql/test/subquery/Tests/any.sql sql/test/subquery/Tests/any_all.sql sql/test/subquery/Tests/scalar.sql Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/mapiclient/mclient.c clients/mapilib/mapi.c monetdb5/mal/Tests/tst251.stable.out monetdb5/modules/atoms/mtime.c sql/backends/monet5/Tests/simpleSQL.malC sql/backends/monet5/Tests/simpleSQL.stable.out sql/backends/monet5/mal_backend.c sql/backends/monet5/mal_backend.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_scenario.h sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128 Branch: cmake-fun Log Message: Merge with default. diffs (truncated from 695 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -11724,7 +11724,6 @@ stdout of test 'MAL-signatures` in direc [ "sql", "grow", "pattern sql.grow(tid:bat[:oid], X_0:any_1):int ", "mvc_grow_wrap;", "Resize the tid column of a declared table."] [ "sql", "importTable", "unsafe pattern sql.importTable(sname:str, tname:str, onclient:int, fname:str...):bat[:any]... ", "mvc_bin_import_table_wrap;", "Import a table from the files (fname)" ] [ "sql", "include", "pattern sql.include(fname:str):void ", "SQLinclude;", "Compile and execute a sql statements on the file" ] -[ "sql", "init", "pattern sql.init():void ", "SQLinitEnvironment;", "Initialize the environment for MAL"] [ "sql", "lag", "pattern sql.lag(b:any_1, l:any_2, d:any_1, p:any_3, o:any_4):any_1 ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "sql", "lag", "pattern sql.lag(b:any_1, l:any_2, d:bat[:any_1], p:any_3, o:any_4):any_1 ","SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "sql", "lag", "pattern sql.lag(b:any_1, l:any_2, p:any_3, o:any_4):any_1 ", "SQLlag;", "return the value in the previous 'l' row in the partition or NULL if non existent" ] @@ -11801,8 +11800,6 @@ stdout of test 'MAL-signatures` in direc [ "sql", "single", "pattern sql.single(x:any_2):bat[:any_2] ", "CMDBATsingle;","" ] [ "sql", "sql_environment", "inline function sql.sql_environment() (name:bat[:str], value:bat[:str]);", "", "" ] [ "sql", "sql_variables","pattern sql.sql_variables():bat[:str] ", "sql_variables;", "return the table with session variables" ] -[ "sql", "start","pattern sql.start():void ","SQLsession;", "Switch to processing SQL statements" ] -[ "sql", "start2", "pattern sql.start2():void ", "SQLsession2;", "Switch to processing precompiled sql statements" ] [ "sql", "storage", "pattern sql.storage() (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information " ] [ "sql", "storage", "pattern sql.storage(sname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular schema " ] [ "sql", "storage", "pattern sql.storage(sname:str, tname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ","sql_storage;", "return a table with storage information for a particular table"] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++
MonetDB: cmake-fun - Trust output of liblas-config for the libra...
Changeset: 0d7085186c91 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0d7085186c91 Modified Files: CMakeLists.txt cmake/FindLiblas.cmake monetdb_config.h.in Branch: cmake-fun Log Message: Trust output of liblas-config for the library location and keep monetdb_config.h definitions in alphabetic order. diffs (55 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,7 +123,7 @@ set(WITH_ZLIB "AUTO" CACHE STRING "Inclu # Instalation directories set(PROGRAM_PERMISSIONS_DEFAULT OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # required for some instalation files -if(WIN32) +if(WIN32) # Variables with _DIR are used for monetdb_config.h file, which need proper escape on Windows string(REPLACE "/" "" TRIMMED_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") # Fix cmake conversions set(BINDIR "${CMAKE_INSTALL_PREFIX}/bin") set(BIN_DIR "${TRIMMED_INSTALL_PREFIX}bin") diff --git a/cmake/FindLiblas.cmake b/cmake/FindLiblas.cmake --- a/cmake/FindLiblas.cmake +++ b/cmake/FindLiblas.cmake @@ -16,12 +16,12 @@ if(LIBLAS_CONFIG) if(NOT LIBLAS_LIBDIR_CODE EQUAL 0) unset(LIBLAS_LIBRARIES) endif() + + # Call find_package_handle_standard_args only if LIBLAS_CONFIG succeded + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LIBLAS DEFAULT_MSG LIBLAS_INCLUDE_DIR) endif() -# Handle the QUIETLY and REQUIRED arguments and set LIBLAS_FOUND to TRUE if all listed variables are TRUE. -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(LIBLAS DEFAULT_MSG LIBLAS_LIBRARIES LIBLAS_INCLUDE_DIR) - if(LIBLAS_FOUND) file(STRINGS "${LIBLAS_INCLUDE_DIR}/liblas/capi/las_version.h" LIBLAS_VERSION_LINES REGEX "#define[ \t]+LIBLAS_VERSION_(MAJOR|MINOR|REV)") string(REGEX REPLACE ".*LIBLAS_VERSION_MAJOR *\([0-9]*\).*" "\\1" LIBLAS_VERSION_MAJOR "${LIBLAS_VERSION_LINES}") diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -73,9 +73,6 @@ #include #endif /* _MSC_VER */ -/* Mercurial repository version */ -#cmakedefine MERCURIAL_ID "@MERCURIAL_ID@" - /* location where binaries are installed */ #cmakedefine BINDIR "@BIN_DIR@" @@ -394,6 +391,9 @@ /* modifiable single-machine data */ #cmakedefine LOCALSTATEDIR "@LOCALSTATE_DIR@" +/* Mercurial repository version */ +#cmakedefine MERCURIAL_ID "@MERCURIAL_ID@" + /* The used password hash algorithm */ #cmakedefine MONETDB5_PASSWDHASH "@MONETDB5_PASSWDHASH@" ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Merge with default.
Changeset: f19522bbaf70 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f19522bbaf70 Added Files: monetdb5/tools/Tests/mserver5-ipv6.py monetdb5/tools/Tests/mserver5-ipv6.stable.err monetdb5/tools/Tests/mserver5-ipv6.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/rename/Tests/rename10.sql sql/test/rename/Tests/rename10.stable.err sql/test/rename/Tests/rename10.stable.out Removed Files: sql/test/testdb-upgrade/Tests/upgrade.stable.out.powerpc64.int128 Modified Files: .hgtags CMakeLists.txt MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/R/Tests/All clients/mapilib/mapi.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc common/options/monet_options.c configure.ag debian/changelog gdk/libbat.rc libversions monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_commonTerms.c monetdb5/tools/Tests/All monetdb5/tools/libmonetdb5.rc sql/backends/monet5/sql_upgrades.c sql/common/sql_types.c sql/include/sql_catalog.h sql/server/rel_optimizer.c sql/server/rel_optimizer.h sql/server/rel_remote.c sql/server/rel_unnest.c sql/server/sql_query.c sql/server/sql_query.h sql/storage/store.c sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2019/Tests/alter_table_set_schema.Bug-6701.stable.out sql/test/BugTracker-2019/Tests/subselect.Bug-6700.stable.out sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.out sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/analytics/Tests/analytics09.stable.out sql/test/bugs/Tests/case_cast-bug-sf-1019506.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/pg_regress/Tests/select_views.stable.out sql/test/rename/Tests/All sql/test/rename/Tests/rename09.stable.out sql/test/sql_xml/Tests/xml.stable.out sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/dump.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/dump.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 testing/Mtest.py.in testing/process.py tools/merovingian/client/monetdb.1 tools/merovingian/daemon/client.c tools/merovingian/daemon/connections.c tools/merovingian/daemon/connections.h tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/discoveryrunner.c tools/merovingian/daemon/discoveryrunner.h tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h tools/merovingian/daemon/monetdbd.1.in tools/merovingian/daemon/proxy.c tools/merovingian/utils/control.c tools/merovingian/utils/properties.c vertoo.data Branch: cmake-fun Log Message: Merge with default. diffs (truncated from 144391 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -722,3 +722,6 @@ a4e8c9372aa244d6a18c3ef8f1513905650d812c 8db7bfce6045f2ad86d5898946d3e712495c96a3 Apr2019_root 643dfa328c71d7891c8358b4969aa9ebf81e0f4c Apr2019_1
MonetDB: cmake-fun - Continuing cleanup:
Changeset: 529e39ff077d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=529e39ff077d Added Files: cmake/FindExtraLibraries.cmake Modified Files: CMakeLists.txt clients/CMakeLists.txt clients/mapiclient/CMakeLists.txt clients/odbc/CMakeLists.txt cmake/FindLiblas.cmake geom/CMakeLists.txt geom/monetdb5/CMakeLists.txt monetdb5/extras/CMakeLists.txt monetdb5/extras/rapi/CMakeLists.txt monetdb5/modules/mal/mal_mapi.c sql/backends/monet5/UDF/CMakeLists.txt sql/backends/monet5/UDF/capi/CMakeLists.txt sql/backends/monet5/UDF/pyapi3/CMakeLists.txt sql/backends/monet5/vaults/CMakeLists.txt sql/backends/monet5/vaults/bam/CMakeLists.txt sql/backends/monet5/vaults/fits/CMakeLists.txt sql/backends/monet5/vaults/lidar/CMakeLists.txt sql/backends/monet5/vaults/netcdf/CMakeLists.txt sql/backends/monet5/vaults/shp/CMakeLists.txt testing/CMakeLists.txt testing/Mtest.py.in Branch: cmake-fun Log Message: Continuing cleanup: - Moved tests to proper subdirectories. - Reverted old liblas test. - Removed unused CROSS_COMPILING conditional in Mtest - In mal_mapi.c we have to set SOCKLEN to int on Windows because the winsock API requires int instead of socklen_t. diffs (truncated from 2207 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,40 +80,49 @@ if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES message(WARNING "Compiler potentially not (correctly) recognized") endif() -# Set default build options -if(NOT CMAKE_BUILD_TYPE) +if(NOT CMAKE_BUILD_TYPE) # Set default build options message(STATUS "Setting build type to Debug as none was selected") set(CMAKE_BUILD_TYPE Debug CACHE STRING "The type of build" FORCE) endif() -# modules to use -set(ENABLE_MAPI "YES" CACHE STRING "Enable MAPI (default=YES)") -if(NOT ${ENABLE_MAPI} STREQUAL "NO") - set(HAVE_MAPI ON) -endif() - -set(ENABLE_GDK "YES" CACHE STRING "Enable support for GDK (default=YES)") -set(ENABLE_MONETDB5 "YES" CACHE STRING "Enable support for MonetDB5 (default=YES)") -set(ENABLE_SQL "YES" CACHE STRING "Enable support for MonetDB/SQL (default=YES)") - +# Extensions to use +set(ENABLE_CINTEGRATION "AUTO" CACHE STRING "Enable support for C UDFs (default=AUTO)") +set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server (involves security risks) (default=YES)") set(ENABLE_EMBEDDED "NO" CACHE STRING "Enable support for running MonetDB as a library (default=NO)") # TODO check this -if(NOT ${ENABLE_EMBEDDED} STREQUAL "NO") - set(HAVE_EMBEDDED ON) -endif() - -set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server (involves security risks) (default=YES)") -if(NOT ${ENABLE_CONSOLE} STREQUAL "NO") - set(HAVE_CONSOLE ON) -endif() +set(ENABLE_FITS "AUTO" CACHE STRING "Enable support for FITS (default=AUTO)") # Check with HAVE_FITS +set(ENABLE_GDK "YES" CACHE STRING "Enable support for GDK (default=YES)") +set(ENABLE_GEOM "AUTO" CACHE STRING "Enable support for geom module (default=AUTO)") # Check with HAVE_GEOM +set(ENABLE_INT128 "AUTO" CACHE STRING "Enable support for 128-bit integers (default=AUTO)") +set(ENABLE_LIDAR "AUTO" CACHE STRING "Enable support for LiDAR data (default=AUTO)") # Check with HAVE_LIDAR +set(ENABLE_MAPI "YES" CACHE STRING "Enable MAPI (default=YES)") +set(ENABLE_MONETDB5 "YES" CACHE STRING "Enable support for MonetDB5 (default=YES)") +set(ENABLE_NETCDF "AUTO" CACHE STRING "Enable support for netcdf (default=AUTO)") # Check with HAVE_NETCDF +set(ENABLE_ODBC "AUTO" CACHE STRING "Compile the MonetDB ODBC driver (default=AUTO)") # Check with HAVE_ODBC +set(ENABLE_PY3INTEGRATION "AUTO" CACHE STRING "enable support for Python 3 integration into MonetDB (default=AUTO)") # Check with HAVE_LIBPY3 +set(ENABLE_RINTEGRATION "AUTO" CACHE STRING "Enable support for R integration into MonetDB (default=AUTO)") # Check with HAVE_LIBR +set(ENABLE_SAMTOOLS "AUTO" CACHE STRING "Include Samtools support (default=AUTO)") # Check with HAVE_SAMTOOLS +set(ENABLE_SANITIZER "NO" CACHE STRING "Enable support for the GCC address sanitizer (default=NO)") +set(ENABLE_SHP "AUTO" CACHE STRING "Enable support for ESRI Shapefiles (default=AUTO)") # Check with HAVE_SHP +set(ENABLE_SQL "YES" CACHE STRING "Enable support for MonetDB/SQL (default=YES)") +set(ENABLE_STATIC_ANALYSIS "NO" CACHE STRING "Configure for static code analysis (use only if you know what you are doing)") +set(ENABLE_STRICT "${DFT_STRICT}" CACHE STRING "Enable strict compiler flags (default=YES for development sources, NO for tarball instalation)") +set(ENABLE_TESTING "AUTO" CACHE STRING "Enable support for testing (default=AUTO)") -set(ENABLE_STRICT "${DFT_STRICT}" CACHE STRING "Enable strict compiler flags (default=YES for development sources, NO for tarball
MonetDB: cmake-fun - Use only one version variable.
Changeset: 357f3e8bb38f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=357f3e8bb38f Modified Files: CMakeLists.txt clients/mapiclient/mclient.c clients/mapiclient/msqldump.c clients/mapilib/monetdb-mapi.pc.in clients/odbc/driver/ODBCError.c clients/odbc/driver/ODBCUtil.c clients/odbc/driver/SQLGetInfo.c common/stream/monetdb-stream.pc.in gdk/gdk_utils.c gdk/monetdb-gdk.pc.in monetdb5/mal/mal_profiler.c monetdb5/tools/monetdb5.pc.in monetdb_config.h.in sql/backends/monet5/vaults/shp/shp.h tools/merovingian/client/monetdb.c tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/proxy.c Branch: cmake-fun Log Message: Use only one version variable. diffs (truncated from 310 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,6 @@ cmake_minimum_required(VERSION 3.12 FATA # Change these variables between releases set(MONETDB_VERSION_MAJOR "11") set(MONETDB_VERSION "${MONETDB_VERSION_MAJOR}.34.0") -set(VERSION "${MONETDB_VERSION}") set(GDK_VERSION_MAJOR "18") set(GDK_VERSION "${GDK_VERSION_MAJOR}.1.0") @@ -51,15 +50,6 @@ string(TOLOWER "${CMAKE_SYSTEM_NAME}" CM string(TOLOWER "${CMAKE_C_COMPILER_ID}" CMAKE_C_COMPILER_ID_LOWER) set("HOST" "${CMAKE_SYSTEM_PROCESSOR_LOWER}-pc-${CMAKE_SYSTEM_NAME_LOWER}-${CMAKE_C_COMPILER_ID_LOWER}") -# Packaging information -set(PACKAGE "MonetDB") -set(PACKAGE_NAME "MonetDB") -set(PACKAGE_TARNAME "MonetDB") -set(PACKAGE_STRING "MonetDB ${MONETDB_VERSION}") -set(PACKAGE_URL "${MonetDB_HOMEPAGE_URL}") -set(PACKAGE_BUGREPORT "https://bugs.monetdb.org/;) -set(PACKAGE_VERSION "${MONETDB_VERSION}") - set(DFT_STRICT "NO") # Check current version control revision if(EXISTS "${CMAKE_SOURCE_DIR}/.hg") diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -3460,7 +3460,7 @@ main(int argc, char **argv) case 'v': { mnstr_printf(toConsole, "mclient, the MonetDB interactive " -"terminal, version %s", VERSION); +"terminal, version %s", MONETDB_VERSION); #ifdef MONETDB_RELEASE mnstr_printf(toConsole, " (%s)", MONETDB_RELEASE); #else diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c --- a/clients/mapiclient/msqldump.c +++ b/clients/mapiclient/msqldump.c @@ -132,7 +132,7 @@ main(int argc, char **argv) break; case 'v': { printf("msqldump, the MonetDB interactive database " - "dump tool, version %s", VERSION); + "dump tool, version %s", MONETDB_VERSION); #ifdef MONETDB_RELEASE printf(" (%s)", MONETDB_RELEASE); #else @@ -212,7 +212,7 @@ main(int argc, char **argv) *p = 0; mnstr_printf(out, -"-- msqldump version %s", VERSION); +"-- msqldump version %s", MONETDB_VERSION); #ifdef MONETDB_RELEASE mnstr_printf(out, " (%s)", MONETDB_RELEASE); #else 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 @@ -11,7 +11,7 @@ includedir=${includedir} Name: monetdb-mapi Description: MonetDB MAPI C-client libary -Version: @PACKAGE_VERSION@ +Version: @MONETDB_VERSION@ Requires: monetdb-stream openssl Libs: -L${libdir} -lmapi diff --git a/clients/odbc/driver/ODBCError.c b/clients/odbc/driver/ODBCError.c --- a/clients/odbc/driver/ODBCError.c +++ b/clients/odbc/driver/ODBCError.c @@ -39,7 +39,7 @@ struct tODBCError { struct tODBCError *next;/* pointer to the next Error object or NULL */ }; -const char ODBCErrorMsgPrefix[] = "[MonetDB][ODBC Driver " PACKAGE_VERSION "]"; +const char ODBCErrorMsgPrefix[] = "[MonetDB][ODBC Driver " MONETDB_VERSION "]"; const int ODBCErrorMsgPrefixLength = (int) sizeof(ODBCErrorMsgPrefix) - 1; /* diff --git a/clients/odbc/driver/ODBCUtil.c b/clients/odbc/driver/ODBCUtil.c --- a/clients/odbc/driver/ODBCUtil.c +++ b/clients/odbc/driver/ODBCUtil.c @@ -39,7 +39,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID reserved) { #ifdef ODBCDEBUG - ODBCLOG("DllMain %ld (%s)\n", (long) reason, PACKAGE_STRING); + ODBCLOG("DllMain %ld (MonetDB %s)\n", (long) reason, MONETDB_VERSION); #endif (void) hinstDLL; (void) reason; diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c ---
MonetDB: cmake-fun - socket libraries are no longer required for...
Changeset: ce95f69b75ab for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ce95f69b75ab Modified Files: tools/merovingian/client/CMakeLists.txt tools/merovingian/daemon/CMakeLists.txt Branch: cmake-fun Log Message: socket libraries are no longer required for monetdb and monetdbd. diffs (26 lines): diff --git a/tools/merovingian/client/CMakeLists.txt b/tools/merovingian/client/CMakeLists.txt --- a/tools/merovingian/client/CMakeLists.txt +++ b/tools/merovingian/client/CMakeLists.txt @@ -10,8 +10,8 @@ include_directories(../../../common/stre add_executable(monetdb monetdb.c) target_link_libraries(monetdb PRIVATE meroutil mcrypt msabaoth mutils stream ${UUID_LIBRARIES} ${CRYPTO_LIBRARIES} - ${SOCKET_LIBRARIES} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES} - ${LIBLZMA_LIBRARIES} ${CURL_LIBRARIES} ${ICONV_LIBRARIES}) + ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES} ${LIBLZMA_LIBRARIES} + ${CURL_LIBRARIES} ${ICONV_LIBRARIES}) install(TARGETS monetdb DESTINATION ${BINDIR}) if(WIN32) diff --git a/tools/merovingian/daemon/CMakeLists.txt b/tools/merovingian/daemon/CMakeLists.txt --- a/tools/merovingian/daemon/CMakeLists.txt +++ b/tools/merovingian/daemon/CMakeLists.txt @@ -15,7 +15,7 @@ add_executable(monetdbd merovingian.c me controlrunner.c controlrunner.h discoveryrunner.c discoveryrunner.h forkmserver.c forkmserver.h handlers.c handlers.h multiplex-funnel.c multiplex-funnel.h proxy.c proxy.h) target_link_libraries(monetdbd PRIVATE meroutil moptions stream mapi monetdb5 gdk ${UUID_LIBRARIES} - ${CRYPTO_LIBRARIES} ${SOCKET_LIBRARIES} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${SNAPPY_LIBRARIES} + ${CRYPTO_LIBRARIES} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES} ${LIBLZMA_LIBRARIES} ${CURL_LIBRARIES} ${ICONV_LIBRARIES} ${MATH_LIBRARIES} ${THREAD_LIBRARIES} ${DL_LIBRARIES} ${PCRE_LIBRARIES} ${LIBXML2_LIBRARIES} ${KVM_LIBRARIES}) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Generating source tar files with Cpack.
Changeset: c951ddc2470a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c951ddc2470a Modified Files: CMakeLists.txt CMakeReadme.txt Branch: cmake-fun Log Message: Generating source tar files with Cpack. diffs (34 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -778,3 +778,19 @@ endif() # Set monetdb_config.h at the end! configure_file(monetdb_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h DESTINATION ${INCLUDEDIR}/monetdb) + +# Cpack configuration variables +set(CPACK_GENERATOR "DEB;RPM;TBZ2;TGZ;TXZ;ZIP") +set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;ZIP") +set(CPACK_PACKAGE_VENDOR "MonetDBSolutions") +set(CPACK_PACKAGE_CHECKSUM "SHA512") +set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/buildtools/conf/monetdb.ico") +set(CPACK_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/license.txt") +# Using regular expressions for ignored files, later we could move to a generated variable +set(CPACK_SOURCE_IGNORE_FILES "/bootstrap" "/buildtools/autogen/" "/debian/" "/de-bootstrap" "/libversions" "/MacOSX/" + "/NT/" "/rpm.mk.in" "/tools/monetdbbincopy" "/testing/quicktest" "/testing/cmptests.py" "/vertoo.config" + "/vertoo.data" "/\.idea/" "/\.git/" "/\.hg/" "ChangeLog.*" "CMakeFiles*" "\.hg.*" "#" "\.ac$" "\.ag$" "\.dll$" + "\.exe$" "\.la$" "\.lib$" "\.lo$" "\.lst$" "\.mal\.sh$" "\.o$" "\.obj$" "\.pdb$" "\.pyc$" "\.swp$" "~") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") +include(CPack) diff --git a/CMakeReadme.txt b/CMakeReadme.txt --- a/CMakeReadme.txt +++ b/CMakeReadme.txt @@ -69,3 +69,7 @@ WITH_ZLIB Linux notes: - libtools files are not generated yet. + +We use CPack module to generate source tar files with compression. After cmake run: + cpack -G --config +For generators we use TBZ2 TGZ TXZ and ZIP. Check with 'cpack --help' for details. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - This is now working on Windows.
Changeset: 4c2d2bbd1f57 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4c2d2bbd1f57 Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: This is now working on Windows. diffs (38 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -313,25 +313,15 @@ if(NOT COMMONCRYPTO_FOUND) set(HAVE_OPENSSL ON CACHE INTERNAL "OpenSSL is available") set(CRYPTO_INCLUDE_DIR "${OPENSSL_INCLUDE_DIR}" CACHE INTERNAL "crypto include directory") set(CRYPTO_LIBRARIES "${OPENSSL_CRYPTO_LIBRARY}" CACHE INTERNAL "crypto libraries to link") - if(MSVC) - set(HAVE_MD5_UPDATE ON) - set(HAVE_RIPEMD160_UPDATE ON) - set(HAVE_SHA1_UPDATE ON) - set(HAVE_SHA224_UPDATE ON) - set(HAVE_SHA256_UPDATE ON) - set(HAVE_SHA384_UPDATE ON) - set(HAVE_SHA512_UPDATE ON) - else() - set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${CRYPTO_INCLUDE_DIR}") - set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${CRYPTO_LIBRARIES}") - check_symbol_exists("MD5_Update" "openssl/md5.h" HAVE_MD5_UPDATE) - check_symbol_exists("RIPEMD160_Update" "openssl/ripemd.h" HAVE_RIPEMD160_UPDATE) - check_symbol_exists("SHA1_Update" "openssl/sha.h" HAVE_SHA1_UPDATE) - check_symbol_exists("SHA224_Update" "openssl/sha.h" HAVE_SHA224_UPDATE) - check_symbol_exists("SHA256_Update" "openssl/sha.h" HAVE_SHA256_UPDATE) - check_symbol_exists("SHA384_Update" "openssl/sha.h" HAVE_SHA384_UPDATE) - check_symbol_exists("SHA512_Update" "openssl/sha.h" HAVE_SHA512_UPDATE) - endif() + set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${CRYPTO_INCLUDE_DIR}") + set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${CRYPTO_LIBRARIES}") + check_symbol_exists("MD5_Update" "openssl/md5.h" HAVE_MD5_UPDATE) + check_symbol_exists("RIPEMD160_Update" "openssl/ripemd.h" HAVE_RIPEMD160_UPDATE) + check_symbol_exists("SHA1_Update" "openssl/sha.h" HAVE_SHA1_UPDATE) + check_symbol_exists("SHA224_Update" "openssl/sha.h" HAVE_SHA224_UPDATE) + check_symbol_exists("SHA256_Update" "openssl/sha.h" HAVE_SHA256_UPDATE) + check_symbol_exists("SHA384_Update" "openssl/sha.h" HAVE_SHA384_UPDATE) + check_symbol_exists("SHA512_Update" "openssl/sha.h" HAVE_SHA512_UPDATE) endif() endif() cmake_pop_check_state() ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Fixed tar ignore list and removed obsolete ...
Changeset: ec17bc8e67c5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec17bc8e67c5 Removed Files: clients/mapiclient/mnc.c Modified Files: CMakeLists.txt clients/mapiclient/Makefile.ag Branch: cmake-fun Log Message: Fixed tar ignore list and removed obsolete mnc.c file. diffs (truncated from 333 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -788,9 +788,9 @@ set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_D set(CPACK_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/license.txt") # Using regular expressions for ignored files, later we could move to a generated variable -set(CPACK_SOURCE_IGNORE_FILES "/bootstrap" "/buildtools/autogen/" "/debian/" "/de-bootstrap" "/libversions" "/MacOSX/" - "/NT/" "/rpm.mk.in" "/tools/monetdbbincopy" "/testing/quicktest" "/testing/cmptests.py" "/vertoo.config" - "/vertoo.data" "/\.idea/" "/\.git/" "/\.hg/" "ChangeLog.*" "CMakeFiles*" "\.hg.*" "#" "\.ac$" "\.ag$" "\.dll$" - "\.exe$" "\.la$" "\.lib$" "\.lo$" "\.lst$" "\.mal\.sh$" "\.o$" "\.obj$" "\.pdb$" "\.pyc$" "\.swp$" "~") +set(CPACK_SOURCE_IGNORE_FILES "/bootstrap" "/buildtools/autogen/" "/clients/odbc/doc" "/debian/" "/de-bootstrap" + "/libversions" "/MacOSX/" "/rpm.mk.in" "/tools/monetdbbincopy" "/testing/quicktest" "/testing/cmptests.py" + "/vertoo.config" "/vertoo.data" "/\.idea/" "/\.git/" "/\.hg/" "ChangeLog.*" "CMakeFiles*" "\.hg.*" "#" "~" "\.ac$" + "\.ag$" "\.lst$" "\.mal\.sh$") set(CPACK_SOURCE_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") include(CPack) diff --git a/clients/mapiclient/Makefile.ag b/clients/mapiclient/Makefile.ag --- a/clients/mapiclient/Makefile.ag +++ b/clients/mapiclient/Makefile.ag @@ -54,15 +54,6 @@ bin_tomograph = { $(SOCKET_LIBS) $(zlib_LIBS) $(bzip2_LIBS) $(snappy_LIBS) $(lz4_LIBS) $(liblzma_LIBS) $(curl_LIBS) $(LTLIBICONV) $(openssl_LIBS) } -# disabled: it's not really a tool for users, more to debug mapi -# problems, or measure performance -#bin_mnc = { -# SOURCES = mnc.c -# LIBS = ../../common/stream/libstream \ -# ../mapilib/libmapi \ -# $(curl_LIBS) $(MALLOC_LIBS) $(PTHREAD_LIBS) $(SOCKET_LIBS) -#} - man_MANS = mclient.1 msqldump.1 EXTRA_DIST = $(man_MANS) diff --git a/clients/mapiclient/mnc.c b/clients/mapiclient/mnc.c deleted file mode 100644 --- a/clients/mapiclient/mnc.c +++ /dev/null @@ -1,292 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. - */ - -/** - * mnc - * Fabian Groffen - * - * MCL netcat - * Simple utility meant to measure the protocol overhead incurred by our - * stream library compared to "plain" netcat (nc). - */ - -#include "monetdb_config.h" -#include "mapi.h" -#include "stream.h" -#include "stream_socket.h" -#include -#include -#include -#ifdef HAVE_PTHREAD_H -#include -#endif -#include -#ifdef HAVE_SYS_SOCKET_H -# include -#endif -#ifdef NATIVE_WIN32 -# include -#endif -#ifdef HAVE_NETDB_H -# include -#endif - -#ifndef HAVE_GETOPT_LONG -# include "monet_getopt.h" -#else -# ifdef HAVE_GETOPT_H -# include "getopt.h" -# endif -#endif - -#if !defined(HAVE_ACCEPT4) || !defined(SOCK_CLOEXEC) -#define accept4(sockfd, addr, addlen, flags) accept(sockfd, addr, addrlen) -#endif - -static void -usage(void) -{ - fprintf(stderr, "mnc [options] destination port\n"); - fprintf(stderr, " -l | --listen listen for connection instead\n"); - /* TODO - fprintf(stderr, " -u | --udp use UDP instead of TCP\n"); - fprintf(stderr, " -g | --gzip use gzip stream wrapper\n"); - fprintf(stderr, " -j | --bzip2use bzip2 stream wrapper\n"); - fprintf(stderr, " -b | --buffer use buffered stream\n"); - */ - fprintf(stderr, " -B | --blockuse block stream\n"); -} - -int -main(int argc, char **argv) -{ - int a = 1; - char *host = NULL; - int port = 0; - char clisten = 0; - /* char udp = 0; */ - /* char zip = 0; */ - /* char buffer = 0; */ - char block = 0; - SOCKET s = INVALID_SOCKET; - stream *in = NULL; - stream *out = NULL; - char buf[8096]; - ssize_t len; - fd_set fds; - char seeneof = 0; - char seenflush = 0; - - static struct option long_options[8] = { - { "listen", 0, 0, 'l' }, - { "udp", 0, 0, 'u' }, - { "gzip", 0, 0, 'g' }, - { "bzip2", 0, 0, 'j' }, - { "buffer", 0, 0, 'b' }, - { "block", 0, 0, 'B' }, - { "help", 0, 0, '?' }, - { 0, 0, 0, 0 } - }; - while (1) { -
MonetDB: default - Cast sum aggregates into bigints, to avoid an...
Changeset: eada94cda539 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eada94cda539 Modified Files: sql/test/subquery/Tests/correlated.sql sql/test/subquery/Tests/correlated.stable.out sql/test/subquery/Tests/subquery.sql sql/test/subquery/Tests/subquery.stable.out testing/Mtest.py.in Branch: default Log Message: Cast sum aggregates into bigints, to avoid an approval test for hugeint. Also while running Mapprove.py, don't test for IPv6 because MAPIPORT env variable is not set. diffs (239 lines): diff --git a/sql/test/subquery/Tests/correlated.sql b/sql/test/subquery/Tests/correlated.sql --- a/sql/test/subquery/Tests/correlated.sql +++ b/sql/test/subquery/Tests/correlated.sql @@ -103,12 +103,12 @@ SELECT i, (SELECT MIN(i+2*i1.i) FROM int -- 1, 3 -- 2, 5 -- 3, 7 -SELECT i, SUM(i), (SELECT SUM(i)+SUM(i1.i) FROM integers) FROM integers i1 GROUP BY i ORDER BY i; +SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+SUM(i1.i) FROM integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i; -- NULL, NULL, NULL -- 1, 1, 7 -- 2, 2, 8 -- 3, 3, 9 -SELECT i, SUM(i), (SELECT SUM(i)+COUNT(i1.i) FROM integers) FROM integers i1 GROUP BY i ORDER BY i; +SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+COUNT(i1.i) FROM integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i; -- NULL, NULL, 6 -- 1, 1, 7 -- 2, 2, 7 @@ -126,17 +126,17 @@ SELECT i, (SELECT MIN(i+2*i1.i) FROM int -- 2, 5 -- 3, 7 -- aggregate ONLY inside subquery -SELECT (SELECT SUM(i1.i)) FROM integers i1; -- 6 +SELECT CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 6 -- aggregate ONLY inside subquery, with column reference outside of subquery --SELECT FIRST(i), (SELECT SUM(i1.i)) FROM integers i1; -- missing FIRST aggregate -SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6 +SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 1, 6 -- this will fail, because "i" is not an aggregate but the SUM(i1.i) turns this query into an aggregate SELECT i, (SELECT SUM(i1.i)) FROM integers i1; SELECT i+1, (SELECT SUM(i1.i)) FROM integers i1; -SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6 -SELECT (SELECT SUM(i1.i)), (SELECT SUM(i1.i)) FROM integers i1; -- 6, 6 +SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 1, 6 +SELECT CAST((SELECT SUM(i1.i)) AS BIGINT), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 6, 6 -- subquery inside aggregation -SELECT SUM(i), SUM((SELECT i FROM integers WHERE i=i1.i)) FROM integers i1; -- 6, 6 +SELECT CAST(SUM(i) AS BIGINT), CAST(SUM((SELECT i FROM integers WHERE i=i1.i)) AS BIGINT) FROM integers i1; -- 6, 6 SELECT SUM(i), (SELECT SUM(i) FROM integers WHERE i>SUM(i1.i)) FROM integers i1; -- 6, NULL -- subquery with aggregation inside aggregation should fail SELECT SUM((SELECT SUM(i))) FROM integers; -- error diff --git a/sql/test/subquery/Tests/correlated.stable.out b/sql/test/subquery/Tests/correlated.stable.out --- a/sql/test/subquery/Tests/correlated.stable.out +++ b/sql/test/subquery/Tests/correlated.stable.out @@ -142,19 +142,19 @@ stdout of test 'correlated` in directory [ 1, 3 ] [ 2, 5 ] [ 3, 7 ] -#SELECT i, SUM(i), (SELECT SUM(i)+SUM(i1.i) FROM integers) FROM integers i1 GROUP BY i ORDER BY i; -% sys.i1, sys.L3, .L14 # table_name -% i, L3, L14 # name -% int, hugeint,hugeint # type +#SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+SUM(i1.i) FROM integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i; +% sys.i1, sys.L4, .L16 # table_name +% i, L4, L16 # name +% int, bigint, bigint # type % 1, 1, 2 # length [ NULL,NULL, NULL] [ 1, 1, 10 ] [ 2, 2, 14 ] [ 3, 3, 18 ] -#SELECT i, SUM(i), (SELECT SUM(i)+COUNT(i1.i) FROM integers) FROM integers i1 GROUP BY i ORDER BY i; -% sys.i1, sys.L3, .L14 # table_name -% i, L3, L14 # name -% int, hugeint,hugeint # type +#SELECT i, CAST(SUM(i) AS BIGINT), CAST((SELECT SUM(i)+COUNT(i1.i) FROM integers) AS BIGINT) FROM integers i1 GROUP BY i ORDER BY i; +% sys.i1, sys.L4, .L16 # table_name +% i, L4, L16 # name +% int, bigint, bigint # type % 1, 1, 2 # length [ NULL,NULL, 6 ] [ 1, 1, 10 ] @@ -178,34 +178,34 @@ stdout of test 'correlated` in directory [ 1, 3 ] [ 2, 5 ] [ 3, 7 ] -#SELECT (SELECT SUM(i1.i)) FROM integers i1; -- 6 -% sys.L3 # table_name -% L3 # name -% hugeint # type +#SELECT CAST((SELECT SUM(i1.i)) AS BIGINT) FROM integers i1; -- 6 +% sys.L4 # table_name +% L4 # name +% bigint # type % 1 # length [ 6] -#SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; -- 1, 6 -% sys.L3, sys.L5 # table_name -% L3, L5 # name -% int, hugeint # type +#SELECT MIN(i), CAST((SELECT SUM(i1.i)) AS BIGINT) FROM
MonetDB: default - Re-approved test.
Changeset: fce43614aeb3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fce43614aeb3 Added Files: sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out.int128 Modified Files: sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.err sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out Branch: default Log Message: Re-approved test. We have to implement table column casts yet e.g. select t2.c from t1 as t2(c) diffs (240 lines): diff --git a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql --- a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql +++ b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql @@ -2,7 +2,7 @@ start transaction; create table segments (meter int, distance int, speed int); insert into segments values (1,1,1),(9,9,9); select t.* from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t; -select t.meter, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t(meter); +select t.value, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t; select * from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1); -select t.*, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t(meter); +select t.*, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t; rollback; diff --git a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.err b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.err --- a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.err +++ b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.err @@ -31,18 +31,6 @@ stderr of test 'lateral-join-crash.Bug-6 # 00:28:47 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-13250" "--port=34098" # 00:28:47 > -MAPI = (monetdb) /var/tmp/mtest-13250/.s.monetdb.34098 -QUERY = select t.meter, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t(meter); -ERROR = !SELECT: no such column 't.meter' -CODE = 42S22 -MAPI = (monetdb) /var/tmp/mtest-13250/.s.monetdb.34098 -QUERY = select * from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1); -ERROR = !Current transaction is aborted (please ROLLBACK) -CODE = 25005 -MAPI = (monetdb) /var/tmp/mtest-13250/.s.monetdb.34098 -QUERY = select t.*, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t(meter); -ERROR = !Current transaction is aborted (please ROLLBACK) -CODE = 25005 # 00:28:47 > # 00:28:47 > "Done." diff --git a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out --- a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out +++ b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out @@ -29,7 +29,7 @@ stdout of test 'lateral-join-crash.Bug-6 #select t.* from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t; % .t # table_name % value # name -% hugeint # type +% bigint # type % 2 # length [ 1] [ 2] @@ -55,6 +55,93 @@ stdout of test 'lateral-join-crash.Bug-6 [ 16 ] [ 17 ] [ 18 ] +#select t.value, s.distance, s.speed from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1) as t; +% .t, sys.s, sys.s # table_name +% value, distance, speed # name +% bigint, int,int # type +% 2, 1, 1 # length +[ 1, 1, 1 ] +[ 2, 1, 1 ] +[ 9, 1, 1 ] +[ 10, 1, 1 ] +[ 11, 1, 1 ] +[ 12, 1, 1 ] +[ 13, 1, 1 ] +[ 14, 1, 1 ] +[ 15, 1, 1 ] +[ 16, 1, 1 ] +[ 17, 1, 1 ] +[ 18, 1, 1 ] +[ 1, 9, 9 ] +[ 2, 9, 9 ] +[ 9, 9, 9 ] +[ 10, 9, 9 ] +[ 11, 9, 9 ] +[ 12, 9, 9 ] +[ 13, 9, 9 ] +[ 14, 9, 9 ] +[ 15, 9, 9 ] +[ 16, 9, 9 ] +[ 17, 9, 9 ] +[ 18, 9, 9 ] +#select * from segments as s, lateral generate_series(s.meter, s.meter+s.distance+1); +% sys.s, sys.s, sys.s, .L2 # table_name +% meter, distance, speed, value # name +% int, int,int,bigint # type +% 1, 1, 1, 2 # length +[ 1, 1, 1, 1 ] +[ 1, 1, 1, 2 ] +[ 1, 1, 1, 9 ] +[ 1, 1, 1, 10 ] +[ 1, 1, 1, 11 ] +[ 1, 1, 1, 12 ] +[ 1, 1,
MonetDB: cmake-fun - Compiler and linker flags are required for ...
Changeset: 27d87b8e429d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=27d87b8e429d Modified Files: CMakeLists.txt clients/mapiclient/CMakeLists.txt tools/mserver/CMakeLists.txt Branch: cmake-fun Log Message: Compiler and linker flags are required for monet_version.c.in , set compiler flags before visiting sub-directories. diffs (95 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -582,25 +582,6 @@ if(NOT "${ENABLE_TESTING}" STREQUAL "NO" set(HAVE_TESTING ON CACHE INTERNAL "Test suite is enabled") endif() -include_directories(${CMAKE_CURRENT_BINARY_DIR}) -add_subdirectory(buildtools) -add_subdirectory(common) -add_subdirectory(clients) # Must come before monetdb5! -if(HAVE_GDK) - add_subdirectory(gdk) -endif() -if(HAVE_MONETDB5) - add_subdirectory(monetdb5) - add_subdirectory(geom) # The SHP vault requires the geom module, so the geom module should compile before SQL -endif() -if(HAVE_SQL) - add_subdirectory(sql) -endif() -add_subdirectory(tools) -if(HAVE_TESTING) - add_subdirectory(testing) # This one must be the last visted directory! -endif() - # Very Important, check for compiler flags after all libraries checks, otherwise extra compiler flags might break the # library tests function(MT_removeCompilerFlag REGEX_EXPRESSION FLAG_TO_REMOVE OLD_FLAGS BUILD NEW_FLAGS) @@ -686,6 +667,7 @@ else() #GCC, clang and Apple clang # Add -fomit-frame-pointer for non debug builds MT_addCompilerFlag("-fomit-frame-pointer" "-fomit-frame-pointer" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("-fomit-frame-pointer" "-fomit-frame-pointer" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) + MT_addCompilerFlag("-Wl,--export-dynamic" "-Wl,--export-dynamic" "${LINK_OPTIONS}" "all" LINK_OPTIONS) # Linker flags if(${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang") @@ -783,11 +765,25 @@ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_M set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" CACHE STRING "Shared library link options for all builds" FORCE) set(LINK_OPTIONS "${LINK_OPTIONS}" CACHE STRING "Link options for all builds" FORCE) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) +add_subdirectory(buildtools) +add_subdirectory(common) +add_subdirectory(clients) # Must come before monetdb5! +if(HAVE_GDK) + add_subdirectory(gdk) +endif() +if(HAVE_MONETDB5) + add_subdirectory(monetdb5) + add_subdirectory(geom) # The SHP vault requires the geom module, so the geom module should compile before SQL +endif() +if(HAVE_SQL) + add_subdirectory(sql) +endif() +add_subdirectory(tools) +if(HAVE_TESTING) + add_subdirectory(testing) # This one must be the last visted directory! +endif() + # Set monetdb_config.h at the end! -site_name(BUILD_HOST) -set(builtby "$ENV{USER}@${BUILD_HOST}") -string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) -set(compilercall "${CMAKE_C_COMPILER}${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}") -set(linkercall "${CMAKE_LINKER}${CMAKE_C_LINK_FLAGS}") configure_file(monetdb_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h DESTINATION ${INCLUDEDIR}/monetdb) diff --git a/clients/mapiclient/CMakeLists.txt b/clients/mapiclient/CMakeLists.txt --- a/clients/mapiclient/CMakeLists.txt +++ b/clients/mapiclient/CMakeLists.txt @@ -42,7 +42,7 @@ if(NOT ${WITH_READLINE} STREQUAL "NO") int main(int argc, char **argv) { rl_completion_func_t *func = NULL; - (void) argc;(void) argv; + (void) argc;(void) argv;(void) func; return 0; }" HAVE_RL_COMPLETION_FUNC_T) if(HAVE_RL_COMPLETION_FUNC_T) diff --git a/tools/mserver/CMakeLists.txt b/tools/mserver/CMakeLists.txt --- a/tools/mserver/CMakeLists.txt +++ b/tools/mserver/CMakeLists.txt @@ -11,6 +11,11 @@ include_directories(. ../../monetdb5/mal ../../sql/include ../../sql/server ../../sql/storage ${CRYPTO_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR} ${ICONV_INCLUDE_DIR}) +site_name(BUILD_HOST) +set(builtby "$ENV{USER}@${BUILD_HOST}") +string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) +set(compilercall "${CMAKE_C_COMPILER}${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}") +set(linkercall "${CMAKE_LINKER}${CMAKE_C_LINK_FLAGS}") configure_file(monet_version.c.in ${CMAKE_CURRENT_BINARY_DIR}/monet_version.c @ONLY) add_executable(mserver5 mserver5.c monet_version.h ${CMAKE_CURRENT_BINARY_DIR}/monet_version.c) ___
MonetDB: ipv6 - Compilation fixes.
Changeset: cbf3b902b691 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cbf3b902b691 Modified Files: monetdb5/modules/mal/mal_mapi.c tools/merovingian/daemon/connections.c tools/merovingian/daemon/proxy.c tools/merovingian/utils/control.c Branch: ipv6 Log Message: Compilation fixes. diffs (132 lines): 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 @@ -623,7 +623,7 @@ SERVERlisten(int *Port, const char *Usoc e = errno; continue; } -#ifndef SOCK_CLOEXEC +#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL) (void) fcntl(sock, F_SETFD, FD_CLOEXEC); #endif @@ -633,7 +633,7 @@ SERVERlisten(int *Port, const char *Usoc continue; } - bind_check = bind(sock, rp->ai_addr, rp->ai_addrlen); + bind_check = bind(sock, (SOCKPTR) rp->ai_addr, (socklen_t) rp->ai_addrlen); e = errno; if (bind_check == SOCKET_ERROR) { closesocket(sock); @@ -669,9 +669,9 @@ SERVERlisten(int *Port, const char *Usoc errno = e; throw(IO, "mal_mapi.listen", OPERATION_FAILED ": bind to stream socket port %d failed: %s", port, #ifdef _MSC_VER - wsaerror(WSAGetLastError()) + wsaerror(WSAGetLastError()) #else - strerror(errno) + strerror(errno) #endif ); } while (1); @@ -741,7 +741,7 @@ SERVERlisten(int *Port, const char *Usoc else server_ipv4.sin_port = htons((unsigned short) ((port) & 0x)); - if (bind(sock, server, length) == SOCKET_ERROR) { + if (bind(sock, (SOCKPTR) server, length) == SOCKET_ERROR) { int e = errno; if ( #ifdef _MSC_VER diff --git a/tools/merovingian/daemon/connections.c b/tools/merovingian/daemon/connections.c --- a/tools/merovingian/daemon/connections.c +++ b/tools/merovingian/daemon/connections.c @@ -58,7 +58,7 @@ openConnectionTCP(int *ret, bool bind_ip , rp->ai_protocol); if (sock == -1) continue; -#ifndef SOCK_CLOEXEC +#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL) (void) fcntl(sock, F_SETFD, FD_CLOEXEC); #endif @@ -104,7 +104,7 @@ openConnectionTCP(int *ret, bool bind_ip } server = bind_ipv6 ? (struct sockaddr*) _ipv6 : (struct sockaddr*) _ipv4; -#ifndef SOCK_CLOEXEC +#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL) (void) fcntl(sock, F_SETFD, FD_CLOEXEC); #endif if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) , sizeof on) < 0) { @@ -184,7 +184,7 @@ openConnectionUDP(int *ret, bool bind_ip , rp->ai_protocol); if (sock == -1) continue; -#ifndef SOCK_CLOEXEC +#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL) (void) fcntl(sock, F_SETFD, FD_CLOEXEC); #endif @@ -234,7 +234,7 @@ openConnectionUNIX(int *ret, const char if (sock == -1) return(newErr("creation of UNIX stream socket failed: %s", strerror(errno))); -#ifndef SOCK_CLOEXEC +#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL) (void) fcntl(sock, F_SETFD, FD_CLOEXEC); #endif diff --git a/tools/merovingian/daemon/proxy.c b/tools/merovingian/daemon/proxy.c --- a/tools/merovingian/daemon/proxy.c +++ b/tools/merovingian/daemon/proxy.c @@ -150,7 +150,7 @@ startProxy(int psock, stream *cfdin, str , 0)) == -1) { return(newErr("cannot open socket: %s", strerror(errno))); } -#ifndef SOCK_CLOEXEC +#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL) (void) fcntl(ssock, F_SETFD, FD_CLOEXEC); #endif if (connect(ssock, (SOCKPTR) , sizeof(struct sockaddr_un)) == -1) { @@ -231,7 +231,7 @@ startProxy(int psock, stream *cfdin, str
MonetDB: cmake-fun - Moved mprompt.h to mcutil, so the symbols d...
Changeset: 9f4ebc4a97a0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9f4ebc4a97a0 Added Files: clients/mapiclient/mprompt.h clients/mapiclient/prompt.c Removed Files: common/utils/mprompt.h common/utils/prompt.c Modified Files: clients/Tests/exports.stable.out clients/mapiclient/CMakeLists.txt common/utils/CMakeLists.txt common/utils/mutils.h Branch: cmake-fun Log Message: Moved mprompt.h to mcutil, so the symbols don't have to be exported. All symbols from mprompt are used in mapi client executables which mcutil statically links to. The print_trace symbol is not defined, so remove it. diffs (65 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -459,7 +459,6 @@ void mo_print_options(opt *set, int setl int mo_system_config(opt **Set, int setlen); const oid oid_nil; DIR *opendir(const char *dirname); -void print_trace(void); ssize_t ptrFromStr(const char *src, size_t *len, ptr **dst, bool external); ssize_t ptrToStr(str *dst, size_t *len, const ptr *src, bool external); const ptr ptr_nil; diff --git a/clients/mapiclient/CMakeLists.txt b/clients/mapiclient/CMakeLists.txt --- a/clients/mapiclient/CMakeLists.txt +++ b/clients/mapiclient/CMakeLists.txt @@ -63,7 +63,7 @@ endif() include_directories(../mapilib ../../common/options ../../common/stream ../../common/utils ${ICONV_INCLUDE_DIR}) -add_library(mcutil STATIC dump.c dotmonetdb.c dotmonetdb.h eventparser.c eventparser.h) +add_library(mcutil STATIC dump.c dotmonetdb.c dotmonetdb.h eventparser.c eventparser.h mprompt.h prompt.c) add_executable(mclient mclient.c ReadlineTools.c ReadlineTools.h mhelp.c mhelp.h) target_link_libraries(mclient PRIVATE mcutil mutils mcrypt moptions mapi stream ${READLINE_LIBRARIES} diff --git a/common/utils/mprompt.h b/clients/mapiclient/mprompt.h rename from common/utils/mprompt.h rename to clients/mapiclient/mprompt.h --- a/common/utils/mprompt.h +++ b/clients/mapiclient/mprompt.h @@ -6,7 +6,5 @@ * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. */ -#include "mutils.h" - -mutils_export char *prompt_getlogin(void); -mutils_export char *simple_prompt(const char *prompt, int maxlen, int echo, const char *def); +extern char *prompt_getlogin(void); +extern char *simple_prompt(const char *prompt, int maxlen, int echo, const char *def); diff --git a/common/utils/prompt.c b/clients/mapiclient/prompt.c rename from common/utils/prompt.c rename to clients/mapiclient/prompt.c diff --git a/common/utils/CMakeLists.txt b/common/utils/CMakeLists.txt --- a/common/utils/CMakeLists.txt +++ b/common/utils/CMakeLists.txt @@ -8,7 +8,7 @@ include_directories(${UUID_INCLUDE_DIR} ${CRYPTO_INCLUDE_DIR}) -set(MUTILS_OBJECTS mutils.h mutils.c prompt.c mprompt.h revision.c) +set(MUTILS_OBJECTS mutils.h mutils.c revision.c) set(MCRYPT_OBJECTS mcrypt.h mcrypt.c) set(MSABAOTH_OBJECTS muuid.h muuid.c msabaoth.h msabaoth.c) diff --git a/common/utils/mutils.h b/common/utils/mutils.h --- a/common/utils/mutils.h +++ b/common/utils/mutils.h @@ -67,8 +67,6 @@ mutils_export char *dirname(char *path); mutils_export int MT_lockf(char *filename, int mode, off_t off, off_t len); -mutils_export void print_trace(void); - /* Retrieves the absolute path to the executable being run, with no * extra /, /./, or /../ sequences. On Darwin and Solaris this function * needs to be called before any chdirs are performed. Returns a ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Apple clang uses different linker flags.
Changeset: a1b02b000c1e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a1b02b000c1e Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Apple clang uses different linker flags. diffs (20 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -667,14 +667,15 @@ else() #GCC, clang and Apple clang # Add -fomit-frame-pointer for non debug builds MT_addCompilerFlag("-fomit-frame-pointer" "-fomit-frame-pointer" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("-fomit-frame-pointer" "-fomit-frame-pointer" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) - MT_addCompilerFlag("-Wl,--export-dynamic" "-Wl,--export-dynamic" "${LINK_OPTIONS}" "all" LINK_OPTIONS) # Linker flags if(${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang") MT_addCompilerFlag("-Wl,-undefined,dynamic_lookup" "-Wl,-undefined,dynamic_lookup" "${CMAKE_SHARED_LINKER_FLAGS}" "all shared libraries" CMAKE_SHARED_LINKER_FLAGS) MT_addCompilerFlag("-Wl,-undefined,dynamic_lookup" "-Wl,-undefined,dynamic_lookup" "${CMAKE_MODULE_LINKER_FLAGS}" "all shared library modules" CMAKE_MODULE_LINKER_FLAGS) + MT_addCompilerFlag("-Wl,-single_module" "-Wl,-single_module" "${LINK_OPTIONS}" "all" LINK_OPTIONS) else() MT_addCompilerFlag("-Wl,-Bsymbolic-functions" "-Wl,-Bsymbolic-functions" "${LINK_OPTIONS}" "all" LINK_OPTIONS) + MT_addCompilerFlag("-Wl,--export-dynamic" "-Wl,--export-dynamic" "${LINK_OPTIONS}" "all" LINK_OPTIONS) endif() endif() ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Apr2019
Changeset: cdcbd9c15670 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cdcbd9c15670 Modified Files: sql/server/rel_optimizer.c sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out.int128 Branch: default Log Message: Merge with Apr2019 diffs (113 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -6133,7 +6133,7 @@ rel_push_project_up(int *changes, mvc *s for (n = rel->exps->h; n && !fnd; n = n->next) { sql_exp *e = n->data; - if (e->type != e_aggr && e->type != e_column) { + if (e->type != e_aggr && e->type != e_column && e->type != e_atom) { fnd = 1; } } diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql @@ -31,4 +31,6 @@ col2 - + 22, - - 21 ); SELECT DISTINCT * FROM tab2 AS cor0 WHERE CAST ( NULL AS INTEGER ) / col2 NOT IN ( 19 / col2 ); +SELECT * FROM tab1, tab0 AS cor0 WHERE NULL NOT IN ( cor0.col2 ); --6 columns in the output + ROLLBACK; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out @@ -78,6 +78,11 @@ stdout of test 'sqlitelogictest-cast-nul % col0,col1, col2 # name % int, int,int # type % 1, 1, 1 # length +#SELECT * FROM tab1, tab0 AS cor0 WHERE NULL NOT IN ( cor0.col2 ); --6 columns in the output +% sys.tab1,sys.tab1, sys.tab1, sys.cor0, sys.cor0, sys.cor0 # table_name +% col0,col1, col2, col0, col1, col2 # name +% int, int,int,int,int,int # type +% 1, 1, 1, 1, 1, 1 # length #ROLLBACK; # 13:53:34 > diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql @@ -2,4 +2,5 @@ CREATE TABLE tab0(col0 INTEGER, col1 INT INSERT INTO tab0 VALUES(97,1,99), (15,81,47), (87,21,10); SELECT CAST ( - col0 - - - col0 * + CAST ( NULL AS INTEGER ) AS BIGINT ) FROM tab0; SELECT ALL - CAST ( col1 * - 16 * + CAST ( NULL AS INTEGER ) AS BIGINT ) FROM tab0 cor0; +SELECT ALL + CAST ( CAST ( NULL AS INTEGER ) / + COUNT ( DISTINCT - 55 ) * + MIN ( DISTINCT 0 ) AS BIGINT ) FROM tab0 AS cor0; -- NULL DROP TABLE tab0; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out @@ -42,6 +42,12 @@ stdout of test 'sqlitelogictest-mal-calc [ NULL ] [ NULL ] [ NULL ] +#SELECT ALL + CAST ( CAST ( NULL AS INTEGER ) / + COUNT ( DISTINCT - 55 ) * + MIN ( DISTINCT 0 ) AS BIGINT ) FROM tab0 AS cor0; -- NULL +% .L6 # table_name +% L6 # name +% bigint # type +% 1 # length +[ NULL ] #DROP TABLE tab0; # 13:05:57 > diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql @@ -1,2 +1,7 @@ SELECT ALL - 70 + + - 89 - + ( SUM ( + CASE - NULLIF ( + 87, CASE CAST ( NULL AS INTEGER ) WHEN 13 / + ( 68 * - ( 64 ) ) THEN + 39 WHEN 70 * - 95 THEN 60 ELSE 15 + + 25 END * 5 ) WHEN
MonetDB: cmake-fun - Moved samtools/bam include files tests into...
Changeset: 2c7f0d2c7233 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2c7f0d2c7233 Added Files: sql/backends/monet5/vaults/bam/bam_config.h.in Modified Files: monetdb_config.h.in sql/backends/monet5/vaults/bam/CMakeLists.txt sql/backends/monet5/vaults/bam/bam_export.c sql/backends/monet5/vaults/bam/bam_wrapper.c sql/backends/monet5/vaults/bam/bam_wrapper.h Branch: cmake-fun Log Message: Moved samtools/bam include files tests into proper header file. diffs (146 lines): diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -1,3 +1,10 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. + */ /* monetdb_config.h.in. Generated from CMakeLists.txt */ #ifndef _SEEN_MONETDB_CONFIG_H @@ -100,18 +107,6 @@ /* Define to 1 if you have the `backtrace' function. */ #cmakedefine HAVE_BACKTRACE 1 -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_BAM_BAM_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_BAM_BGZF_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_BAM_KSTRING_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_BAM_SAM_H 1 - /* Define to 1 if you have the `clock_gettime' function. */ #cmakedefine HAVE_CLOCK_GETTIME 1 @@ -274,18 +269,6 @@ /* Define to 1 if you have the samtools version 0.1.x (providing the bam library) */ #cmakedefine HAVE_SAMTOOLS 1 -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SAMTOOLS_BAM_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SAMTOOLS_BGZF_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SAMTOOLS_KSTRING_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SAMTOOLS_SAM_H 1 - /* Define to 1 if semtimedop exists */ #cmakedefine HAVE_SEMTIMEDOP 1 diff --git a/sql/backends/monet5/vaults/bam/CMakeLists.txt b/sql/backends/monet5/vaults/bam/CMakeLists.txt --- a/sql/backends/monet5/vaults/bam/CMakeLists.txt +++ b/sql/backends/monet5/vaults/bam/CMakeLists.txt @@ -6,15 +6,11 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -if(NOT ${ENABLE_SAMTOOLS} STREQUAL "NO") +if(NOT ${ENABLE_SAMTOOLS} STREQUAL "NO" AND ZLIB_FOUND) cmake_push_check_state() set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${MATH_LIBRARIES};${THREAD_LIBRARIES};${ZLIB_LIBRARIES};bam") check_include_file("samtools/bam.h" HAVE_SAMTOOLS_BAM_H) - check_include_file("bam/bam.h" HAVE_BAM_BAM_H) check_include_file("samtools/sam.h" HAVE_SAMTOOLS_SAM_H) - check_include_file("bam/sam.h" HAVE_BAM_SAM_H) - check_include_file("samtools/bgzf.h" HAVE_SAMTOOLS_BGZF_H) - check_include_file("bam/bgzf.h" HAVE_BAM_BGZF_H) check_include_file("samtools/kstring.h" HAVE_SAMTOOLS_KSTRING_H) check_include_file("bam/kstring.h" HAVE_BAM_KSTRING_H) check_symbol_exists("bam_header_read" "samtools/bam.h" HAVE_BAM_HEADER_READ) @@ -29,8 +25,9 @@ if(NOT ${ENABLE_SAMTOOLS} STREQUAL "NO") cmake_pop_check_state() endif() if(HAVE_SAMTOOLS) - include_directories(.. ../.. ../../../../include ../../../../common ../../../../storage ../../../../server - ../../../../../monetdb5/modules/atoms ../../../../../monetdb5/modules/kernel + configure_file(bam_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/bam_config.h) + include_directories(${CMAKE_CURRENT_BINARY_DIR} .. ../.. ../../../../include ../../../../common ../../../../storage + ../../../../server ../../../../../monetdb5/modules/atoms ../../../../../monetdb5/modules/kernel ../../../../../monetdb5/mal ../../../../../monetdb5/modules/mal ../../../../../monetdb5/optimizer ../../../../../common/stream ../../../../../common/utils ../../../../../gdk ../../../../../tools/merovingian ../../../../../tools/merovingian/daemon) diff --git a/sql/backends/monet5/vaults/bam/bam_config.h.in b/sql/backends/monet5/vaults/bam/bam_config.h.in new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/vaults/bam/bam_config.h.in @@ -0,0 +1,24 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. + */ + +#ifndef BAM_CONFIG_H +#define BAM_CONFIG_H + +/* Define to 1 if you
MonetDB: cmake-fun - Merge with default
quot;", +"VALUES row_values", +"row_values", +NULL}, {"WHILE", "", "[ident ':'] WHILE search_condition DO procedure_statement ... END WHILE [ident]", diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c --- a/gdk/gdk_string.c +++ b/gdk/gdk_string.c @@ -630,7 +630,7 @@ strFromStr(const char *restrict src, siz if (!external) { size_t sz = strLen(src); - atommem(sz); + atommem(sz + 1); strncpy(*dst, src, sz + 1); return (ssize_t) sz; } @@ -789,7 +789,7 @@ strToStr(char **restrict dst, size_t *re if (!external) { sz = strLen(src); - atommem(sz); + atommem(sz + 1); strncpy(*dst, src, sz + 1); return (ssize_t) sz; } diff --git a/monetdb5/ChangeLog b/monetdb5/ChangeLog --- a/monetdb5/ChangeLog +++ b/monetdb5/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog file for MonetDB5 # This file is updated with Maddlog +* Thu May 2 2019 Pedro Ferreira +- Added "mapi_ipv6" property to monet_options to force ipv6 address + binding only. This property is inherited while forking from + monetdbd if it is also set there. + * Thu Apr 18 2019 Sjoerd Mullender - Removed (bat)calc.between_symmetric and changed (bat)calc.between by adding a number of extra arguments, all of type :bit: symmetric, diff --git a/sql/ChangeLog b/sql/ChangeLog --- a/sql/ChangeLog +++ b/sql/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon May 6 2019 Pedro Ferreira +- Added "VALUES row_list" statement as a top SQL projection statement. + * Mon Feb 18 2019 Aris Koning - The implementation of in-expression now follows a join-based approach instead of using iterative union/selects. This greatly improves diff --git a/sql/backends/monet5/UDF/pyapi/conversion.c b/sql/backends/monet5/UDF/pyapi/conversion.c --- a/sql/backends/monet5/UDF/pyapi/conversion.c +++ b/sql/backends/monet5/UDF/pyapi/conversion.c @@ -1075,6 +1075,7 @@ str ConvertFromSQLType(BAT *b, sql_subty { void *element = (void *)BUNtail(li, p); if (strConversion(, , element, false) < 0) { + BBPunfix((*ret_bat)->batCacheid); return createException(MAL, "pyapi.eval", SQLSTATE(PY000) "Failed to convert element to string."); } diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c --- a/sql/backends/monet5/sql_cat.c +++ b/sql/backends/monet5/sql_cat.c @@ -392,7 +392,7 @@ alter_table_del_table(mvc *sql, char *ms } static char * -alter_table_set_access(Client cntxt, mvc *sql, char *sname, char *tname, int access) +alter_table_set_access(mvc *sql, char *sname, char *tname, int access) { sql_schema *s = mvc_bind_schema(sql, sname); sql_table *t = NULL; @@ -408,7 +408,7 @@ alter_table_set_access(Client cntxt, mvc mvc_access(sql, t, access); if (access == 0) - sql_drop_statistics(cntxt, t); + sql_drop_statistics(sql, t); } } else { throw(SQL,"sql.alter_table_set_access",SQLSTATE(42S02) "ALTER TABLE: no such table '%s' in schema '%s'", tname, sname); @@ -1516,7 +1516,7 @@ SQLalter_set_table(Client cntxt, MalBlkP int access = *getArgReference_int(stk, pci, 3); initcontext(); - msg = alter_table_set_access(cntxt, sql, sname, tname, access); + msg = alter_table_set_access(sql, sname, tname, access); return msg; } diff --git a/sql/backends/monet5/sql_statistics.c b/sql/backends/monet5/sql_statistics.c --- a/sql/backends/monet5/sql_statistics.c +++ b/sql/backends/monet5/sql_statistics.c @@ -21,61 +21,38 @@ analysis by optimizers. #include "sql_statistics.h" #include "sql_execute.h" -#define atommem(size) \ - do {\ - if (*dst == NULL || *len < (size)) {\ - GDKfree(*dst); \ - *len = (size); \ - *dst = GDKmalloc(*len); \ - if (*dst == NULL) \ - return -1; \ - } \ - } while (0) - -static ssize_t -strToStrSQuote(char **dst, size_t *len, const void *src, bool external) -{ - ssize_t l = 0; - - (void) external; - assert(external); - if (GDK_STRNIL((str) src)) { -
MonetDB: cmake-fun - Move Cpack definitions to a proper Cmake mo...
Changeset: 98c0a247dd6a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=98c0a247dd6a Added Files: cmake/Distribute.cmake Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Move Cpack definitions to a proper Cmake module. diffs (58 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -757,17 +757,4 @@ configure_file(monetdb_config.h.in ${CMA install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h DESTINATION ${INCLUDEDIR}/monetdb) # Cpack configuration variables -set(CPACK_GENERATOR "DEB;RPM;TBZ2;TGZ;TXZ;ZIP") -set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;ZIP") -set(CPACK_PACKAGE_VENDOR "MonetDBSolutions") -set(CPACK_PACKAGE_CHECKSUM "SHA512") -set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/buildtools/conf/monetdb.ico") -set(CPACK_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/license.txt") -# Using regular expressions for ignored files, later we could move to a generated variable -set(CPACK_SOURCE_IGNORE_FILES "/bootstrap" "/buildtools/autogen/" "/clients/odbc/doc" "/debian/" "/de-bootstrap" - "/libversions" "/MacOSX/" "/rpm.mk.in" "/tools/monetdbbincopy" "/testing/quicktest" "/testing/cmptests.py" - "/vertoo.config" "/vertoo.data" "/\.idea/" "/\.git/" "/\.hg/" "ChangeLog.*" "CMakeFiles*" "\.hg.*" "#" "~" "\.ac$" - "\.ag$" "\.lst$" "\.mal\.sh$") -set(CPACK_SOURCE_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") -include(CPack) +include(Distribute) diff --git a/cmake/Distribute.cmake b/cmake/Distribute.cmake new file mode 100644 --- /dev/null +++ b/cmake/Distribute.cmake @@ -0,0 +1,31 @@ +#[[ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. +#]] + +# In this file, we set cpack configurations for building tarballs and eventually binary releases + +# Cpack general configurations +set(CPACK_SOURCE_GENERATOR "7Z;TBZ2;TGZ;TXZ;ZIP") +set(CPACK_GENERATOR "${CPACK_SOURCE_GENERATOR}") # All what we need I think +# DEB;RPM;productbuild;FREEBSD;WIX; -> for these we will continue with the previous +set(CPACK_PACKAGE_VENDOR "MonetDBSolutions") +set(CPACK_PACKAGE_CHECKSUM "SHA512") +set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/buildtools/conf/monetdb.ico") +set(CPACK_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/license.txt") + +# Source build configurations +# Using regular expressions for ignored files, later we could move to a generated variable +set(CPACK_SOURCE_IGNORE_FILES "/bootstrap" "/buildtools/autogen/" "/clients/odbc/doc" "/debian/" "/de-bootstrap" + "/libversions" "/MacOSX/" "/rpm.mk.in" "/tools/monetdbbincopy" "/testing/quicktest" "/testing/cmptests.py" + "/vertoo.config" "/vertoo.data" "/\.idea/" "/\.git/" "/\.hg/" "ChangeLog.*" "CMakeFiles*" "\.hg.*" "#" "~" "\.ac$" + "\.ag$" "\.lst$" "\.mal\.sh$") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "MonetDB-${MONETDB_VERSION}") +include(CPack) + +# RPM configurations +#set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_SOURCE_DIR}/MonetDB.spec") ... ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Added missing installation directories for ...
Changeset: 6bb5ea7fd9ca for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6bb5ea7fd9ca Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Added missing installation directories for Windows. diffs (37 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,11 +118,16 @@ if(WIN32) # Variables with _DIR are used set(BIN_DIR "${TRIMMED_INSTALL_PREFIX}bin") set(DATADIR "${CMAKE_INSTALL_PREFIX}/share") set(DATA_DIR "${TRIMMED_INSTALL_PREFIX}share") + set(DATAROOTDIR "${TRIMMED_INSTALL_PREFIX}/share") set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") + set(INFODIR "${CMAKE_INSTALL_PREFIX}/info") set(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib") set(LIB_DIR "${TRIMMED_INSTALL_PREFIX}lib") + set(LIBEXECDIR "${CMAKE_INSTALL_PREFIX}/libexec") set(LOCALSTATEDIR "${CMAKE_INSTALL_PREFIX}/var") set(LOCALSTATE_DIR "${TRIMMED_INSTALL_PREFIX}var") + set(MANDIR "${TRIMMED_INSTALL_PREFIX}/man") + set(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc") else() include(GNUInstallDirs REQUIRED) set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}") @@ -137,12 +142,13 @@ else() set(LIBEXECDIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}") set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}") set(LOCALSTATE_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}") - set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE PATH "Where to put log files (LOCALSTATEDIR/log/monetdb)") set(MANDIR "${CMAKE_INSTALL_FULL_MANDIR}") - set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE PATH "Where to put pid files (LOCALSTATEDIR/run/monetdb)") set(SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}") + # Unix only variables + set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE PATH "Where to put log files (default LOCALSTATEDIR/log/monetdb)") + set(PKGCONFIGDIR "${LIBDIR}/pkgconfig") # Set a default value for every installation + set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE PATH "Where to put pid files (default LOCALSTATEDIR/run/monetdb)") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") - set(PKGCONFIGDIR "${LIBDIR}/pkgconfig") endif() if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Attempt to remove unnecessary checks for he...
Changeset: 3e5f672d3adc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3e5f672d3adc Modified Files: CMakeLists.txt clients/mapiclient/ReadlineTools.c clients/mapiclient/dump.c clients/mapiclient/eventparser.h clients/mapiclient/mclient.c clients/mapiclient/mhelp.c clients/mapiclient/msqldump.c clients/mapiclient/prompt.c clients/mapiclient/stethoscope.c clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c clients/mapilib/mapi.c clients/odbc/driver/ODBCConvert.c clients/odbc/driver/SQLBrowseConnect.c clients/odbc/driver/SQLDriverConnect.c common/options/monet_options.c common/stream/stream.c common/stream/stream.h common/stream/stream_socket.h common/utils/msabaoth.c common/utils/mutils.c gdk/gdk.h gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_posix.h gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_utils.c monetdb5/mal/mal_authorize.c monetdb5/mal/mal_linker.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_profiler.h monetdb5/mal/mal_sabaoth.c monetdb5/modules/kernel/status.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mdb.h monetdb5/modules/mal/remote.h monetdb5/scheduler/run_pipeline.h monetdb_config.h.in sql/backends/monet5/UDF/pyapi/undef.h sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_upgrades.c sql/server/rel_semantic.c sql/server/sql_parser.y sql/server/sql_scan.c sql/server/sql_semantic.c testing/Mdiff.c testing/difflib.c tools/merovingian/client/monetdb.c tools/merovingian/daemon/client.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/proxy.c tools/merovingian/utils/control.c Branch: cmake-fun Log Message: Attempt to remove unnecessary checks for header files existent only on UNIX systems. diffs (truncated from 1609 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,6 @@ set(CMAKE_FIND_APPBUNDLE LAST) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" CACHE INTERNAL "Location of custom CMake modules.") include(CheckCSourceCompiles REQUIRED) include(CheckIncludeFile REQUIRED) -include(CheckIncludeFiles REQUIRED) include(CMakePushCheckState REQUIRED) include(CheckStructHasMember REQUIRED) include(CheckSymbolExists REQUIRED) @@ -414,28 +413,13 @@ endif() include(FindExtraLibraries) # Header files -check_include_file("dirent.h" HAVE_DIRENT_H) -check_include_file("fcntl.h" HAVE_FCNTL_H) -check_include_file("getopt.h" HAVE_GETOPT_H) -check_include_file("io.h" HAVE_IO_H) -check_include_file("kvm.h" HAVE_KVM_H) +check_include_file("getopt.h" HAVE_GETOPT_H) # GNU extension +check_include_file("kvm.h" HAVE_KVM_H) # For FreeBSD check_include_file("libintl.h" HAVE_LIBINTL_H) -check_include_file("netdb.h" HAVE_NETDB_H) check_include_file("pthread.h" HAVE_PTHREAD_H) check_include_file("stdatomic.h" HAVE_STDATOMIC_H) # C11 include file -check_include_file("strings.h" HAVE_STRINGS_H) -check_include_file("sys/ioctl.h" HAVE_SYS_IOCTL_H) check_include_file("sys/mman.h" HAVE_SYS_MMAN_H) # For madvise and posix_madvise on BSD systems -check_include_file("sys/param.h" HAVE_SYS_PARAM_H) -check_include_file("sys/resource.h" HAVE_SYS_RESOURCE_H) -check_include_file("sys/socket.h" HAVE_SYS_SOCKET_H) -check_include_file("sys/stat.h" HAVE_SYS_STAT_H) -check_include_files("sys/param.h;sys/sysctl.h" HAVE_SYS_SYSCTL_H) # on OpenBSD, sys/sysctl.h requires sys/param.h to be included beforehand check_include_file("sys/time.h" HAVE_SYS_TIME_H) -check_include_file("sys/types.h" HAVE_SYS_TYPES_H) -check_include_file("sys/uio.h" HAVE_SYS_UIO_H) -check_include_file("sys/un.h" HAVE_SYS_UN_H) -check_include_file("unistd.h" HAVE_UNISTD_H) # C types existence cmake_push_check_state() diff --git a/clients/mapiclient/ReadlineTools.c b/clients/mapiclient/ReadlineTools.c --- a/clients/mapiclient/ReadlineTools.c +++ b/clients/mapiclient/ReadlineTools.c @@ -17,7 +17,7 @@ #include #include "ReadlineTools.h" -#ifdef HAVE_STRINGS_H +#ifndef NATIVE_WIN32 #include/* for strncasecmp */ #endif diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c --- a/clients/mapiclient/dump.c +++ b/clients/mapiclient/dump.c @@ -9,7 +9,7 @@ #include "monetdb_config.h" #include "mapi.h" #include "stream.h" -#ifdef HAVE_UNISTD_H +#ifndef NATIVE_WIN32 #include #endif #include diff --git a/clients/mapiclient/eventparser.h b/clients/mapiclient/eventparser.h --- a/clients/mapiclient/eventparser.h +++
MonetDB: cmake-fun - Windows has fcntl.h
Changeset: 5744957e6e39 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5744957e6e39 Modified Files: clients/mapilib/mapi.c common/stream/stream.c common/utils/msabaoth.c common/utils/mutils.c gdk/gdk_posix.c gdk/gdk_storage.c gdk/gdk_utils.c monetdb5/mal/mal_linker.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/remote.h testing/difflib.c Branch: cmake-fun Log Message: Windows has fcntl.h diffs (202 lines): diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -692,6 +692,7 @@ #include #include +#include #ifndef NATIVE_WIN32 # include # include @@ -699,7 +700,6 @@ # include # include # include -# include #endif #include diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -57,6 +57,7 @@ #include #include #include +#include #ifdef NATIVE_WIN32 #include #else @@ -66,7 +67,6 @@ # include # include # include -# include #endif #ifdef HAVE_LIBZ #include diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c --- a/common/utils/msabaoth.c +++ b/common/utils/msabaoth.c @@ -20,12 +20,12 @@ #include "monetdb_config.h" #include #include +#include #ifdef NATIVE_WIN32 #include #else #include /* unlink and friends */ #include /* readdir, DIR */ -#include #endif #include #include /* for getting error messages */ diff --git a/common/utils/mutils.c b/common/utils/mutils.c --- a/common/utils/mutils.c +++ b/common/utils/mutils.c @@ -10,13 +10,13 @@ #include #include #include +#include #ifdef NATIVE_WIN32 #include #else # include # include /* realpath on OSX, prerequisite of sys/sysctl on OpenBSD */ # include /* KERN_PROC_PATHNAME on BSD */ -# include #endif #include "mutils.h" diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c --- a/gdk/gdk_posix.c +++ b/gdk/gdk_posix.c @@ -21,6 +21,7 @@ #include "mutils.h" #include /* strncpy */ #include +#include #ifdef __MACH__ # include # include @@ -31,10 +32,8 @@ # include # include #endif - #ifndef NATIVE_WIN32 # include -# include # include #endif diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c --- a/gdk/gdk_storage.c +++ b/gdk/gdk_storage.c @@ -34,11 +34,10 @@ #endif #include +#include #ifdef NATIVE_WIN32 # include -#else -# include #endif #if defined(_MSC_VER) && _MSC_VER >= 1400 diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -27,6 +27,7 @@ int GDKdebug = 0; int GDKverbose = 0; #include +#include #ifdef __CYGWIN__ #include @@ -41,7 +42,6 @@ int GDKverbose = 0; #else #include /* prerequisite of sys/sysctl on OpenBSD */ #include -#include #endif static ATOMIC_TYPE GDKstopped = ATOMIC_VAR_INIT(0); diff --git a/monetdb5/mal/mal_linker.c b/monetdb5/mal/mal_linker.c --- a/monetdb5/mal/mal_linker.c +++ b/monetdb5/mal/mal_linker.c @@ -19,12 +19,12 @@ #include "mutils.h" #include /* opendir */ +#include #ifdef NATIVE_WIN32 # include #else #include #include -#include #endif #if defined(_MSC_VER) && _MSC_VER >= 1400 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 @@ -34,6 +34,7 @@ #include #include "stream_socket.h" #include "mapi.h" +#include #ifdef HAVE_OPENSSL # include /* RAND_bytes() */ #elif defined(HAVE_COMMONCRYPTO) @@ -52,7 +53,6 @@ # include # include # include -# include #endif #define SOCKPTR struct sockaddr * diff --git a/monetdb5/modules/mal/remote.h b/monetdb5/modules/mal/remote.h --- a/monetdb5/modules/mal/remote.h +++ b/monetdb5/modules/mal/remote.h @@ -37,11 +37,10 @@ typedef struct _connection { struct _connection *next; /* the next connection in the list */ } *connection; -#ifndef WIN32 +#ifndef NATIVE_WIN32 #include /* socket */ #include /* sockaddr_un */ -#else -# include /* gethostname */ +#include /* gethostname */ #endif /* #define _DEBUG_REMOTE_ trace the interaction */ diff --git a/testing/difflib.c b/testing/difflib.c --- a/testing/difflib.c +++ b/testing/difflib.c @@ -15,6 +15,7 @@ #include #include #include +#include #ifdef NATIVE_WIN32 # include @@ -23,7 +24,6 @@ #define getpid _getpid #else # include -# include #endif #ifndef DIFF ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Fixes for cmake 3.11 compatibility.
Changeset: e5bd4123e4ae for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e5bd4123e4ae Modified Files: CMakeLists.txt sql/backends/monet5/vaults/bam/CMakeLists.txt Branch: cmake-fun Log Message: Fixes for cmake 3.11 compatibility. diffs (109 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. #]] -cmake_minimum_required(VERSION 3.12 FATAL_ERROR) +cmake_minimum_required(VERSION 3.11 FATAL_ERROR) # Change these variables between releases set(MONETDB_VERSION_MAJOR "11") @@ -24,8 +24,8 @@ set(MONETDB5_VERSION "${MONETDB5_VERSION set(STREAM_VERSION_MAJOR "13") set(STREAM_VERSION "${STREAM_VERSION_MAJOR}.1.0") -project(MonetDB VERSION "${MONETDB_VERSION}" DESCRIPTION "MonetDB, SQL queries at light speed" - HOMEPAGE_URL "https://www.monetdb.org/; LANGUAGES C) +# HOMEPAGE_URL "https://www.monetdb.org/; in project command supported from cmake 3.12 up +project(MonetDB VERSION "${MONETDB_VERSION}" DESCRIPTION "MonetDB, SQL queries at light speed" LANGUAGES C) set(C_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD 99) @@ -41,8 +41,6 @@ include(CheckTypeSize REQUIRED) include(TestBigEndian REQUIRED) include(TestLargeFiles REQUIRED) -cmake_policy(SET CMP0075 NEW) # Include file check macros honor CMAKE_REQUIRED_LIBRARIES - # Set host information string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" CMAKE_SYSTEM_PROCESSOR_LOWER) string(TOLOWER "${CMAKE_SYSTEM_NAME}" CMAKE_SYSTEM_NAME_LOWER) @@ -126,7 +124,7 @@ if(WIN32) # Variables with _DIR are used set(LIBEXECDIR "${CMAKE_INSTALL_PREFIX}/libexec") set(LOCALSTATEDIR "${CMAKE_INSTALL_PREFIX}/var") set(LOCALSTATE_DIR "${TRIMMED_INSTALL_PREFIX}var") - set(MANDIR "${TRIMMED_INSTALL_PREFIX}/man") + set(MANDIR "${CMAKE_INSTALL_PREFIX}/man") set(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc") else() include(GNUInstallDirs REQUIRED) @@ -152,7 +150,7 @@ else() endif() if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - add_compile_definitions(_GNU_SOURCE _XOPEN_SOURCE) + add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE) set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") @@ -169,7 +167,7 @@ elseif(MSVC) set(_Noreturn "__declspec(noreturn)") set(__attribute__(a) ON) set(restrict "__restrict") - add_compile_definitions(_CRT_SECURE_NO_WARNINGS) + add_definitions(/D_CRT_SECURE_NO_WARNINGS) if(CMAKE_SIZEOF_VOID_P EQUAL 8) # Windows 64 bit set(HAVE__MUL128 ON CACHE INTERNAL "mul128 function is available") endif() @@ -240,8 +238,22 @@ set(PATH_SEP "'${OS_PATHSEP}'") set(SO_EXT "${CMAKE_SHARED_LIBRARY_SUFFIX}") # We need python3 for the testweb, python udfs and c udfs compilation -include(FindPython3) -find_package(Python3 COMPONENTS Interpreter Development) +if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) + find_package(Python3 COMPONENTS Interpreter Development) +else() + set(Python_ADDITIONAL_VERSIONS 3) + find_package(PythonInterp 3) + find_package(PythonLibs 3) + if(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND) + set(Python3_FOUND ON) + set(Python3_VERSION_MAJOR "${PYTHON_VERSION_MAJOR}") + set(Python3_VERSION_MINOR "${PYTHON_VERSION_MINOR}") + set(Python3_VERSION_PATCH "${PYTHON_VERSION_PATCH}") + set(Python3_EXECUTABLE "${PYTHON_EXECUTABLE}") + set(Python3_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}") + set(Python3_LIBRARIES "${PYTHON_LIBRARIES}") + endif() +endif() if(Python3_FOUND) set(PYTHON3_REQUIRED_VERSION "3.5") if("${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" VERSION_LESS ${PYTHON3_REQUIRED_VERSION}) @@ -707,7 +719,7 @@ if(NOT ${ENABLE_SANITIZER} STREQUAL "NO" if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") MT_checkCompilerFlag("-fsanitize=address") MT_checkCompilerFlag("-fno-omit-frame-pointer") - add_compile_definitions(NO_ATOMIC_INSTRUCTIONS) + add_definitions(-DNO_ATOMIC_INSTRUCTIONS) else() message(FATAL_ERROR "Sanitizer only supported with GCC") endif() diff --git a/sql/backends/monet5/vaults/bam/CMakeLists.txt b/sql/backends/monet5/vaults/bam/CMakeLists.txt --- a/sql/backends/monet5/vaults/bam/CMakeLists.txt +++ b/sql/backends/monet5/vaults/bam/CMakeLists.txt @@ -8,11 +8,11 @@ if(NOT ${ENABLE_SAMTOOLS} STREQUAL "NO" AND ZLIB_FOUND) cmake_push_check_state() - set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${MATH_LIBRARIES};${THREAD_LIBRARIES};${ZLIB_LIBRARIES};bam") check_include_file("samtools/bam.h" HAVE_SAMTOOLS_BAM_H)
MonetDB: cmake-fun - Removed old code for Solaris, AIX and KVM.
Changeset: e7f30662ad4e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e7f30662ad4e Modified Files: CMakeLists.txt clients/mapiclient/mclient.c clients/mapiclient/mnc.c clients/mapilib/CMakeLists.txt common/stream/CMakeLists.txt common/utils/mutils.c common/utils/muuid.c common/utils/prompt.c gdk/gdk_posix.c monetdb5/mal/mal_linker.c monetdb_config.h.in testing/Mtest.py.in tools/merovingian/client/monetdb.c Branch: cmake-fun Log Message: Removed old code for Solaris, AIX and KVM. diffs (299 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1236,12 +1236,9 @@ check_include_file("mach/mach_init.h" HA check_include_file("mach/task.h" HAVE_MACH_TASK_H) check_include_file("mach-o/dyld.h" HAVE_MACH_O_DYLD_H) check_include_file("netdb.h" HAVE_NETDB_H) -check_include_file("netinet/in.h" HAVE_NETINET_IN_H) -check_include_file("procfs.h" HAVE_PROCFS_H) check_include_file("pwd.h" HAVE_PWD_H) check_include_file("stdatomic.h" HAVE_STDATOMIC_H) check_include_file("strings.h" HAVE_STRINGS_H) -check_include_file("stropts.h" HAVE_STROPTS_H) check_include_file("sys/file.h" HAVE_SYS_FILE_H) check_include_file("sys/ioctl.h" HAVE_SYS_IOCTL_H) check_include_file("sys/mman.h" HAVE_SYS_MMAN_H) @@ -1398,7 +1395,6 @@ check_symbol_exists("fseeko" "stdio.h" H check_symbol_exists("fsync" "unistd.h" HAVE_FSYNC) check_symbol_exists("ftime" "sys/timeb.h" HAVE_FTIME) check_symbol_exists("GetDynamicTimeZoneInformation" "Windows.h" HAVE_GETDYNAMICTIMEZONEINFORMATION) -check_symbol_exists("getexecname" "stdlib.h" HAVE_GETEXECNAME) check_symbol_exists("getlogin" "unistd.h" HAVE_GETLOGIN) check_symbol_exists("getopt" "unistd.h" HAVE_GETOPT) check_symbol_exists("getopt_long" "unistd.h;getopt.h" HAVE_GETOPT_LONG) diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -157,9 +157,6 @@ static char *nullstring = default_nullst #ifdef HAVE_SYS_TIME_H #include /* gettimeofday */ #endif -#ifdef HAVE_STROPTS_H -#include/* ioctl on Solaris */ -#endif #ifdef HAVE_SYS_IOCTL_H #include #endif diff --git a/clients/mapiclient/mnc.c b/clients/mapiclient/mnc.c --- a/clients/mapiclient/mnc.c +++ b/clients/mapiclient/mnc.c @@ -35,9 +35,6 @@ #ifdef HAVE_NETDB_H # include #endif -#ifdef HAVE_NETINET_IN_H -# include -#endif #ifndef HAVE_GETOPT_LONG # include "monet_getopt.h" diff --git a/clients/mapilib/CMakeLists.txt b/clients/mapilib/CMakeLists.txt --- a/clients/mapilib/CMakeLists.txt +++ b/clients/mapilib/CMakeLists.txt @@ -24,9 +24,6 @@ install(FILES mapi.h DESTINATION ${INCLU if(WIN32) install(FILES $ DESTINATION ${LIBDIR} OPTIONAL) else() - if(SOCKET_LIBRARIES) - set(PKG_SOCKET_LIBS "-l${SOCKET_LIBRARIES}") - endif() configure_file(monetdb-mapi.pc.in ${CMAKE_CURRENT_BINARY_DIR}/monetdb-mapi.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdb-mapi.pc DESTINATION ${PKGCONFIGDIR}) endif() diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt --- a/common/stream/CMakeLists.txt +++ b/common/stream/CMakeLists.txt @@ -44,9 +44,6 @@ else() if(SNAPPY_FOUND) set(PKG_SNAPPY "-lsnappy") endif() - if(SOCKET_LIBRARIES) - set(PKG_SOCKET_LIBS "-l${SOCKET_LIBRARIES}") - endif() if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) set(PKG_LIBICONV "-l${ICONV_LIBRARIES}") endif() diff --git a/common/utils/mutils.c b/common/utils/mutils.c --- a/common/utils/mutils.c +++ b/common/utils/mutils.c @@ -480,22 +480,6 @@ get_bin_path(void) mib[3] = -1; if (sysctl(mib, 4, _bin_path, , NULL, 0) == 0) return _bin_path; -#elif defined(HAVE_GETEXECNAME) /* Solaris */ - char buf[PATH_MAX]; - const char *execn = getexecname(); - /* getexecname doesn't always return an absolute path, the only -* thing it seems to do is strip leading ./ from the invocation -* string. */ - if (*execn != '/') { - if (getcwd(buf, PATH_MAX) != NULL) { - snprintf(buf + strlen(buf), PATH_MAX - strlen(buf), "/%s", execn); - if (realpath(buf, _bin_path) != NULL) - return(_bin_path); - } - } else { - if (realpath(execn, _bin_path) != NULL) - return(_bin_path); - } #else /* try Linux approach, also works on Cygwin */ if (readlink("/proc/self/exe", _bin_path, sizeof(_bin_path)) != -1) diff --git a/common/utils/muuid.c b/common/utils/muuid.c --- a/common/utils/muuid.c +++ b/common/utils/muuid.c @@ -34,12 +34,7 @@ char * generateUUID(void) { #ifdef HAVE_UUID -# ifdef
MonetDB: default - Merge with Apr2019 branch.
Changeset: 609ac383f294 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=609ac383f294 Added Files: sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.sql sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.stable.err sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.stable.out Modified Files: gdk/gdk_string.c sql/backends/monet5/UDF/pyapi/conversion.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_statistics.h sql/server/rel_optimizer.c sql/server/rel_planner.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err sql/test/BugTracker-2019/Tests/All sql/test/remote/Tests/partition_elim.stable.out sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out Branch: default Log Message: Merge with Apr2019 branch. diffs (truncated from 1061 to 300 lines): diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c --- a/gdk/gdk_string.c +++ b/gdk/gdk_string.c @@ -630,7 +630,7 @@ strFromStr(const char *restrict src, siz if (!external) { size_t sz = strLen(src); - atommem(sz); + atommem(sz + 1); strncpy(*dst, src, sz + 1); return (ssize_t) sz; } @@ -789,7 +789,7 @@ strToStr(char **restrict dst, size_t *re if (!external) { sz = strLen(src); - atommem(sz); + atommem(sz + 1); strncpy(*dst, src, sz + 1); return (ssize_t) sz; } diff --git a/sql/backends/monet5/UDF/pyapi/conversion.c b/sql/backends/monet5/UDF/pyapi/conversion.c --- a/sql/backends/monet5/UDF/pyapi/conversion.c +++ b/sql/backends/monet5/UDF/pyapi/conversion.c @@ -1075,6 +1075,7 @@ str ConvertFromSQLType(BAT *b, sql_subty { void *element = (void *)BUNtail(li, p); if (strConversion(, , element, false) < 0) { + BBPunfix((*ret_bat)->batCacheid); return createException(MAL, "pyapi.eval", SQLSTATE(PY000) "Failed to convert element to string."); } diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c --- a/sql/backends/monet5/sql_cat.c +++ b/sql/backends/monet5/sql_cat.c @@ -392,7 +392,7 @@ alter_table_del_table(mvc *sql, char *ms } static char * -alter_table_set_access(Client cntxt, mvc *sql, char *sname, char *tname, int access) +alter_table_set_access(mvc *sql, char *sname, char *tname, int access) { sql_schema *s = mvc_bind_schema(sql, sname); sql_table *t = NULL; @@ -408,7 +408,7 @@ alter_table_set_access(Client cntxt, mvc mvc_access(sql, t, access); if (access == 0) - sql_drop_statistics(cntxt, t); + sql_drop_statistics(sql, t); } } else { throw(SQL,"sql.alter_table_set_access",SQLSTATE(42S02) "ALTER TABLE: no such table '%s' in schema '%s'", tname, sname); @@ -1516,7 +1516,7 @@ SQLalter_set_table(Client cntxt, MalBlkP int access = *getArgReference_int(stk, pci, 3); initcontext(); - msg = alter_table_set_access(cntxt, sql, sname, tname, access); + msg = alter_table_set_access(sql, sname, tname, access); return msg; } diff --git a/sql/backends/monet5/sql_statistics.c b/sql/backends/monet5/sql_statistics.c --- a/sql/backends/monet5/sql_statistics.c +++ b/sql/backends/monet5/sql_statistics.c @@ -21,61 +21,38 @@ analysis by optimizers. #include "sql_statistics.h" #include "sql_execute.h" -#define atommem(size) \ - do {\ - if (*dst == NULL || *len < (size)) {\ - GDKfree(*dst); \ - *len = (size); \ - *dst = GDKmalloc(*len); \ - if (*dst == NULL) \ - return -1; \ - } \
MonetDB: Apr2019 - Added sqlite test failing query.
Changeset: 68da36e42926 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=68da36e42926 Modified Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql Branch: Apr2019 Log Message: Added sqlite test failing query. MonetDB gets an overflow in calculation at 70*2. diffs (8 lines): diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql @@ -21,3 +21,4 @@ SELECT DISTINCT - 16 + ( + 37 ) - - 56 * SELECT - 54 * + 0; -- 0 SELECT ALL - 30 + + 85, - ( - + 43 ) - 71 + - 0 * - - 78 + - 78 + - - 47 * - 93 + 32 * + SUM ( 90 ) AS col0; -- 55, -1597 SELECT ALL + COUNT ( * ) - - + 0 * - 32; -- 1 +SELECT CAST ( NULL AS INTEGER ) - 1 - 1 + 2 * 70; --NULL ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Apr2019 - Updated bug 6557 with similar query that shou...
Changeset: 1b22d2eee345 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1b22d2eee345 Modified Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err Branch: Apr2019 Log Message: Updated bug 6557 with similar query that should give an error. The error is thrown in Apr2019 branch, but it's crashing on default, maybe because of subquery branch changes. diffs (23 lines): diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql @@ -1,4 +1,5 @@ CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER); INSERT INTO tab0 VALUES(83,0,38), (26,0,79), (43,81,24); SELECT DISTINCT col2 FROM tab0 GROUP BY col2, col1 HAVING NOT NULL NOT IN ( AVG ( ALL + col1 ) ); +SELECT DISTINCT tab0.col1 AS col2 FROM tab0 GROUP BY tab0.col1 HAVING NULL NOT IN ( col2 ); --error DROP TABLE tab0; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err @@ -27,6 +27,10 @@ stderr of test 'sqlitelogictest-having-n # 12:32:58 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-25333" "--port=30615" # 12:32:58 > +MAPI = (monetdb) /var/tmp/mtest-5168/.s.monetdb.37758 +QUERY = SELECT DISTINCT tab0.col1 AS col2 FROM tab0 GROUP BY tab0.col1 HAVING NULL NOT IN ( col2 ); --error +ERROR = !SELECT: cannot use non GROUP BY column 'col2' in query results without an aggregate function +CODE = 42000 # 12:32:58 > # 12:32:58 > "Done." ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merged with Apr2019.
Changeset: 07455c65e6b5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=07455c65e6b5 Modified Files: sql/server/rel_optimizer.c sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128 Branch: default Log Message: Merged with Apr2019. diffs (69 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -3087,7 +3087,8 @@ exp_simplify_math( mvc *sql, sql_exp *e, atom *la = exp_flatten(sql, le); atom *ra = exp_flatten(sql, re); - if (la && ra) { + /* TODO check if output type is larger then input */ + if (la && ra && subtype_cmp(atom_type(la), atom_type(ra)) == 0 && subtype_cmp(atom_type(la), exp_subtype(e)) == 0) { atom *a = atom_mul(la, ra); if (a && atom_cast(sql->sa, a, exp_subtype(e))) { diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out @@ -162,6 +162,24 @@ stdout of test 'sqlitelogictest-aritmeti % bigint # type % 1 # length [ NULL ] +#SELECT ALL - - 11 + 51 + + 32 + 13 - - - NULLIF ( - + 52, + + 19 ) - + ( + + 9 ) + + 44 * - 69 / + - 30 + 24 / - 71 + + CAST ( NULL AS REAL ) * - 72 + - 44 * - + 68 + - + COUNT ( DISTINCT 55 ) AS col1; -- NULL +% .L5 # table_name +% col1 # name +% real # type +% 15 # length +[ NULL ] +#SELECT - + 94 * - 81 / + 4 + + 92 * + + CAST ( NULL AS REAL ) * + + 97 * - ( + - COUNT ( * ) ) AS col0; -- NULL +% .L5 # table_name +% col0 # name +% real # type +% 15 # length +[ NULL ] +#SELECT 71 * - 59 / - COUNT ( * ) + - 98 * - + 35 / + CAST ( NULL AS REAL ) / - ( + COUNT ( * ) ) AS col0; --NULL +% .L6 # table_name +% col0 # name +% real # type +% 15 # length +[ NULL ] # 16:20:37 > # 16:20:37 > "Done." diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128 b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128 --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128 +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128 @@ -162,6 +162,24 @@ stdout of test 'sqlitelogictest-aritmeti % hugeint # type % 1 # length [ NULL ] +#SELECT ALL - - 11 + 51 + + 32 + 13 - - - NULLIF ( - + 52, + + 19 ) - + ( + + 9 ) + + 44 * - 69 / + - 30 + 24 / - 71 + + CAST ( NULL AS REAL ) * - 72 + - 44 * - + 68 + - + COUNT ( DISTINCT 55 ) AS col1; -- NULL +% .L5 # table_name +% col1 # name +% real # type +% 15 # length +[ NULL ] +#SELECT - + 94 * - 81 / + 4 + + 92 * + + CAST ( NULL AS REAL ) * + + 97 * - ( + - COUNT ( * ) ) AS col0; -- NULL +% .L5 # table_name +% col0 # name +% real # type +% 15 # length +[ NULL ] +#SELECT 71 * - 59 / - COUNT ( * ) + - 98 * - + 35 / + CAST ( NULL AS REAL ) / - ( + COUNT ( * ) ) AS col0; --NULL +% .L6 # table_name +% col0 # name +% real # type +% 15 # length +[ NULL ] # 16:20:37 > # 16:20:37 > "Done." ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Approved output.
Changeset: ef5e9ab66b50 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ef5e9ab66b50 Modified Files: sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out sql/test/mapi/Tests/perl_dbi.stable.out sql/test/mapi/Tests/python2_dbapi.stable.out sql/test/mapi/Tests/python3_dbapi.stable.out Branch: default Log Message: Approved output. diffs (205 lines): diff --git a/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out b/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out --- a/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out +++ b/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out @@ -46,8 +46,8 @@ stdout of test 'ambiguous.Bug-3803` in d #INSERT INTO t1(a,d,b,e,c) VALUES(138,136,139,135,137); [ 1] #SELECT CASE a+1 WHEN b THEN 111 WHEN c THEN 222 WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, CASE WHEN a(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, abs(b-c) FROM t1 WHERE EXISTS(SELECT 1 FROM t1 AS x WHERE x.bc OR d NOT BETWEEN 110 AND 150 ORDER BY 4,1,5,2,6,3,7; -% .L1, .L2,.L3,.L4,.t1,.L6,.L7 # table_name -% L1, L2, L3, L4, c, L6, L7 # name +% .L16,.L20, .L22, .L24, .t1,.L33, .L35 # table_name +% L16, L20,L22,L24,c, L33,L35 # name % smallint,smallint, bigint, bigint, int,bigint, bigint # type % 3, 3, 4, 3, 3, 4, 1 # length [ 555, 444,1014, 610,102,1000, 2 ] @@ -59,8 +59,8 @@ stdout of test 'ambiguous.Bug-3803` in d [ 444, 333,1325, 793,134,262,4 ] [ 111, 222,1371, 827,137,276,2 ] #SELECT a, a+b*2+c*3+d*4+e*5, c-d, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, b-c, a+b*2 FROM t1 ORDER BY 6,2,4,5,3,1; -% sys.t1, sys.L1, sys.L2, sys.L4, sys.L5, sys.L6 # table_name -% a, L1, L2, L4, L5, L6 # name +% sys.t1, sys.L3, sys.L5, sys.L13,sys.L15,sys.L17 # table_name +% a, L3, L5, L13,L15,L17 # name % int, bigint, bigint, bigint, bigint, bigint # type % 3, 4, 2, 4, 2, 3 # length [ 104, 1529, 1, 1000, -2, 304 ] @@ -72,8 +72,8 @@ stdout of test 'ambiguous.Bug-3803` in d [ 131, 1985, 1, 262,-4, 391 ] [ 138, 2046, 1, 276,2, 416 ] #SELECT a+b*2+c*3+d*4+e*5, CASE WHEN a(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END FROM t1 WHERE (e>c OR eb ORDER BY 4,5,3,7,1,6,2; -% sys.L1, sys.L2, sys.t1, sys.L3, sys.L4, sys.t1, sys.L6 # table_name -% L1, L2, a, L3, L4, d, L6 # name +% sys.L2, sys.L4, sys.t1, sys.L7, sys.L11,sys.t1, sys.L20 # table_name +% L2, L4, a, L7, L11,d, L20 # name % bigint, smallint, int,bigint, bigint, int,bigint # type % 4, 3, 3, 1, 3, 3, 4 # length [ 1612,333,107,1, 317,108,1050] @@ -84,8 +84,8 @@ stdout of test 'ambiguous.Bug-3803` in d [ 1902,222,127,4, 385,128,254 ] [ 1985,333,131,4, 391,133,262 ] #SELECT a, e, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, a-b FROM t1 ORDER BY 2,4,3,1; -% sys.t1, sys.t1, sys.L3, sys.L4 # table_name -% a, e, L3, L4 # name +% sys.t1, sys.t1, sys.L10,sys.L12 # table_name +% a, e, L10,L12 # name % int, int,bigint, bigint # type % 3, 3, 4, 2 # length [ 104, 103,1000, 4 ] @@ -97,8 +97,8 @@ stdout of test 'ambiguous.Bug-3803` in d [ 131, 132,262,1 ] [ 138, 135,276,-1 ] #SELECT d, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, abs(b-c), a+b*2+c*3+d*4+e*5, CASE WHEN a(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END FROM t1 WHERE EXISTS(SELECT 1 FROM t1 AS x WHERE x.bc ORDER BY 4,6,3,1,5,2; -% sys.L1, sys.t1, sys.L2, sys.L3, sys.L4, sys.L6 # table_name -% L1, a, L2, L3, L4, L6 # name +% sys.L4, sys.t1, sys.L7, sys.L11,sys.L13,sys.L21 # table_name +% L4, a, L7, L11,L13,L21 # name % bigint, int,int,bigint, bigint, bigint # type % 4, 3, 3, 2, 1, 3 # length [ 1826,121,121,-3, 2, 242 ] [ 1902,127,127,-2, 2, 254 ] [ 2046,138,138,-1, 1, 276 ] #SELECT CASE WHEN a(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.db AND (e>a AND e(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, CASE a+1 WHEN b THEN 111 WHEN c THEN 222 WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, a-b, (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.db AND (c<=d-2 OR c>=d+2) AND c>d ORDER BY 6,5,4,2,3,1; -% .t1, .L2,.L4,.L5,.L6,.L10 # table_name -% e, L2,
MonetDB: Apr2019 - Adding more sqlite tests failing queries:
Changeset: 49fdc1899528 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=49fdc1899528 Modified Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out.int128 Branch: Apr2019 Log Message: Adding more sqlite tests failing queries: Bug 6605 outputs only 3 columns out of 6 on default. Bug 6566 crashes on both Apr2019 and default. Bug 6579 crashes on default. diffs (85 lines): diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql @@ -31,4 +31,6 @@ col2 - + 22, - - 21 ); SELECT DISTINCT * FROM tab2 AS cor0 WHERE CAST ( NULL AS INTEGER ) / col2 NOT IN ( 19 / col2 ); +SELECT * FROM tab1, tab0 AS cor0 WHERE NULL NOT IN ( cor0.col2 ); --6 columns in the output + ROLLBACK; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out @@ -79,6 +79,11 @@ Ready. % col0,col1, col2 # name % int, int,int # type % 1, 1, 1 # length +#SELECT * FROM tab1, tab0 AS cor0 WHERE NULL NOT IN ( cor0.col2 ); --6 columns in the output +% sys.tab1,sys.tab1, sys.tab1, sys.cor0, sys.cor0, sys.cor0 # table_name +% col0,col1, col2, col0, col1, col2 # name +% int, int,int,int,int,int # type +% 1, 1, 1, 1, 1, 1 # length #ROLLBACK; # 13:53:34 > diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.sql @@ -2,4 +2,5 @@ CREATE TABLE tab0(col0 INTEGER, col1 INT INSERT INTO tab0 VALUES(97,1,99), (15,81,47), (87,21,10); SELECT CAST ( - col0 - - - col0 * + CAST ( NULL AS INTEGER ) AS BIGINT ) FROM tab0; SELECT ALL - CAST ( col1 * - 16 * + CAST ( NULL AS INTEGER ) AS BIGINT ) FROM tab0 cor0; +SELECT ALL + CAST ( CAST ( NULL AS INTEGER ) / + COUNT ( DISTINCT - 55 ) * + MIN ( DISTINCT 0 ) AS BIGINT ) FROM tab0 AS cor0; -- NULL DROP TABLE tab0; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.sql @@ -1,2 +1,7 @@ SELECT ALL - 70 + + - 89 - + ( SUM ( + CASE - NULLIF ( + 87, CASE CAST ( NULL AS INTEGER ) WHEN 13 / + ( 68 * - ( 64 ) ) THEN + 39 WHEN 70 * - 95 THEN 60 ELSE 15 + + 25 END * 5 ) WHEN + 36 THEN NULL WHEN 24 THEN NULL ELSE 66 END ) ) AS col2; +SELECT + - CAST ( 30 AS INTEGER ) + + CASE - 83 WHEN 22 THEN NULL WHEN - + MAX ( DISTINCT + ( + + 35 ) ) - - 48 +- CAST ( + 90 AS INTEGER ) THEN NULL ELSE + - 80 END AS col1, ( + - 13 ) + + CAST ( NULL AS INTEGER ) + - 76 + - + +CASE + + NULLIF ( - MAX ( + NULLIF ( + 43, + 25 + + - CAST ( NULL AS INTEGER ) ) ), - - COUNT ( * ) ) WHEN 12 + + 36 * +- + CAST ( NULL AS INTEGER ) THEN NULL WHEN + 34 * + 10 THEN MIN ( DISTINCT + 68 ) / 10 WHEN 31 - COUNT ( * ) / + 16 +THEN + 12 ELSE NULL END; -- 110, NULL diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out @@ -31,6 +31,16 @@ Ready. % bigint # type % 4 # length [ -225 ] +#SELECT + - CAST ( 30 AS INTEGER ) + + CASE - 83 WHEN 22 THEN NULL WHEN - + MAX ( DISTINCT + ( + + 35 ) ) - - 48 +#- CAST ( + 90 AS INTEGER ) THEN NULL ELSE + - 80 END AS col1, ( + - 13 ) + + CAST ( NULL AS INTEGER ) + - 76 + - + +#CASE + + NULLIF ( - MAX ( + NULLIF ( + 43,
MonetDB: default - Updated mhelp and changelog.
Changeset: dde4f5c2d8d2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dde4f5c2d8d2 Modified Files: clients/mapiclient/mhelp.c sql/ChangeLog Branch: default Log Message: Updated mhelp and changelog. diffs (28 lines): diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c --- a/clients/mapiclient/mhelp.c +++ b/clients/mapiclient/mhelp.c @@ -516,6 +516,11 @@ SQLhelp sqlhelp1[] = { "[ WITH with_list ] UPDATE qname [ [AS] ident ] SET assignment_list [ WHERE search_condition ]", "with_list,assignment_list,search_condition", NULL}, + {"VALUES", +"", +"VALUES row_values", +"row_values", +NULL}, {"WHILE", "", "[ident ':'] WHILE search_condition DO procedure_statement ... END WHILE [ident]", diff --git a/sql/ChangeLog b/sql/ChangeLog --- a/sql/ChangeLog +++ b/sql/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon May 6 2019 Pedro Ferreira +- Added "VALUES row_list" statement as a top SQL projection statement. + * Mon Feb 18 2019 Aris Koning - The implementation of in-expression now follows a join-based approach instead of using iterative union/selects. This greatly improves ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Apr2019 - Approve no int128 output.
Changeset: 6692088e5f17 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6692088e5f17 Modified Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out Branch: Apr2019 Log Message: Approve no int128 output. diffs (12 lines): diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out @@ -160,7 +160,7 @@ Ready. #SELECT CAST ( NULL AS INTEGER ) - 1 - 1 + 2 * 70; --NULL % .L3 # table_name % L3 # name -% hugeint # type +% bigint # type % 1 # length [ NULL ] ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Apr2019 branch.
Changeset: 34087d48ef7d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=34087d48ef7d Modified Files: sql/server/rel_exp.c sql/server/rel_optimizer.c sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128 sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out Branch: default Log Message: Merge with Apr2019 branch. diffs (220 lines): diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -1455,7 +1455,7 @@ exp_is_null(mvc *sql, sql_exp *e ) list *l = e->l; if (!r && l) - for (n = l->h; n && r; n = n->next) + for (n = l->h; n && !r; n = n->next) r |= exp_is_null(sql, n->data); return r; } diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -6466,7 +6466,7 @@ rel_mark_used(mvc *sql, sql_rel *rel, in } } -static sql_rel * rel_dce_sub(mvc *sql, sql_rel *rel, list *refs); +static sql_rel * rel_dce_sub(mvc *sql, sql_rel *rel); static sql_rel * rel_remove_unused(mvc *sql, sql_rel *rel) @@ -6769,25 +6769,22 @@ rel_dce_refs(mvc *sql, sql_rel *rel, lis } static sql_rel * -rel_dce_down(mvc *sql, sql_rel *rel, list *refs, int skip_proj) +rel_dce_down(mvc *sql, sql_rel *rel, int skip_proj) { if (!rel) return rel; - if (!skip_proj && rel_is_ref(rel)) { - if (!list_find(refs, rel, NULL)) - list_append(refs, rel); + if (!skip_proj && rel_is_ref(rel)) return rel; - } switch(rel->op) { case op_basetable: case op_table: if (skip_proj && rel->l && rel->op == op_table && rel->flag != 2) - rel->l = rel_dce_down(sql, rel->l, refs, 0); + rel->l = rel_dce_down(sql, rel->l, 0); if (!skip_proj) - rel_dce_sub(sql, rel, refs); + rel_dce_sub(sql, rel); /* fall through */ case op_truncate: @@ -6797,16 +6794,16 @@ rel_dce_down(mvc *sql, sql_rel *rel, lis case op_insert: rel_used(rel->r); - rel_dce_sub(sql, rel->r, refs); + rel_dce_sub(sql, rel->r); return rel; case op_update: case op_delete: if (skip_proj && rel->r) - rel->r = rel_dce_down(sql, rel->r, refs, 0); + rel->r = rel_dce_down(sql, rel->r, 0); if (!skip_proj) - rel_dce_sub(sql, rel, refs); + rel_dce_sub(sql, rel); return rel; case op_topn: @@ -6815,9 +6812,9 @@ rel_dce_down(mvc *sql, sql_rel *rel, lis case op_groupby: if (skip_proj && rel->l) - rel->l = rel_dce_down(sql, rel->l, refs, is_topn(rel->op) || is_sample(rel->op)); + rel->l = rel_dce_down(sql, rel->l, is_topn(rel->op) || is_sample(rel->op)); if (!skip_proj) - rel_dce_sub(sql, rel, refs); + rel_dce_sub(sql, rel); return rel; case op_union: @@ -6825,17 +6822,17 @@ rel_dce_down(mvc *sql, sql_rel *rel, lis case op_except: if (skip_proj) { if (rel->l) - rel->l = rel_dce_down(sql, rel->l, refs, 0); + rel->l = rel_dce_down(sql, rel->l, 0); if (rel->r) - rel->r = rel_dce_down(sql, rel->r, refs, 0); + rel->r = rel_dce_down(sql, rel->r, 0); } if (!skip_proj) - rel_dce_sub(sql, rel, refs); + rel_dce_sub(sql, rel); return rel; case op_select: if (rel->l) - rel->l = rel_dce_down(sql, rel->l, refs, 0); + rel->l = rel_dce_down(sql, rel->l, 0); return rel; case op_join: @@ -6845,9 +6842,9 @@ rel_dce_down(mvc *sql, sql_rel *rel, lis case op_semi: case op_anti: if (rel->l) - rel->l = rel_dce_down(sql, rel->l, refs, 0); + rel->l = rel_dce_down(sql, rel->l, 0); if (rel->r) - rel->r = rel_dce_down(sql,
MonetDB: Apr2019 - Adding more sqlite tests failing queries:
Changeset: 2ecd89950f47 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ecd89950f47 Modified Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out Branch: Apr2019 Log Message: Adding more sqlite tests failing queries: Bug 6560 gives right results in Apr2019 branch, but wrong on default. Bug 6561 we should analyze first, but I think MonetDB outputs wrong results. Bug 6576 more overflows in calculations. diffs (46 lines): diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql @@ -22,3 +22,6 @@ SELECT - 54 * + 0; -- 0 SELECT ALL - 30 + + 85, - ( - + 43 ) - 71 + - 0 * - - 78 + - 78 + - - 47 * - 93 + 32 * + SUM ( 90 ) AS col0; -- 55, -1597 SELECT ALL + COUNT ( * ) - - + 0 * - 32; -- 1 SELECT CAST ( NULL AS INTEGER ) - 1 - 1 + 2 * 70; --NULL +SELECT ALL - - 11 + 51 + + 32 + 13 - - - NULLIF ( - + 52, + + 19 ) - + ( + + 9 ) + + 44 * - 69 / + - 30 + 24 / - 71 + + CAST ( NULL AS REAL ) * - 72 + - 44 * - + 68 + - + COUNT ( DISTINCT 55 ) AS col1; -- NULL +SELECT - + 94 * - 81 / + 4 + + 92 * + + CAST ( NULL AS REAL ) * + + 97 * - ( + - COUNT ( * ) ) AS col0; -- NULL +SELECT 71 * - 59 / - COUNT ( * ) + - 98 * - + 35 / + CAST ( NULL AS REAL ) / - ( + COUNT ( * ) ) AS col0; --NULL diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql @@ -1,4 +1,5 @@ CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER); INSERT INTO tab0 VALUES(83,0,38), (26,0,79), (43,81,24); SELECT CAST (- col0 * - + 8 + + + col0 + + + col0 + + + 42 * col0 AS BIGINT) FROM tab0 GROUP BY col0, col0, col1 HAVING NOT 18 + - col0 IN ( + CAST ( + col0 AS INTEGER ) ); +SELECT col2 FROM tab0 AS cor0 WHERE NOT 49 + + col1 IS NULL GROUP BY col2, col1 HAVING NOT ( COUNT ( * ) ) BETWEEN + 76 - - col2 AND - CASE NULLIF ( - 39, CAST ( - col1 AS INTEGER ) ) WHEN + 67 * - 30 THEN CAST ( 1 AS INTEGER ) + + COUNT ( * ) * col2 ELSE NULL END; --79, 38, 24 DROP TABLE tab0; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql @@ -1,4 +1,5 @@ CREATE TABLE tab1(col0 INTEGER, col1 INTEGER, col2 INTEGER); INSERT INTO tab1 VALUES(22,6,8), (28,57,45), (82,44,71); SELECT + - col2 FROM tab1 AS cor0 GROUP BY col0, col2 HAVING ( col2 / + 15 + + 88 ) IN ( AVG ( col2 ) ); +SELECT DISTINCT - NULLIF ( - 85, 24 ) * tab1.col1 FROM tab1 GROUP BY tab1.col1; DROP TABLE tab1; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out @@ -32,6 +32,14 @@ Ready. % L2 # name % int # type % 1 # length +#SELECT DISTINCT - NULLIF ( - 85, 24 ) * tab1.col1 FROM tab1 GROUP BY tab1.col1; +% .L2 # table_name +% L2 # name +% bigint # type +% 4 # length +[ 510 ] +[ 4845 ] +[ 3740 ] #DROP TABLE tab1; # 13:05:19 > ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Added missing column cast in table and table ...
Changeset: 21cd62446f5d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=21cd62446f5d Added Files: sql/test/miscellaneous/Tests/column_aliases.sql sql/test/miscellaneous/Tests/column_aliases.stable.err sql/test/miscellaneous/Tests/column_aliases.stable.out Modified Files: sql/server/rel_rel.c sql/server/rel_select.c sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.stable.out.int128 sql/test/miscellaneous/Tests/All Branch: default Log Message: Added missing column cast in table and table returning UDF aliases e.g. select t2.c, t2.d from t1 as t2(c, d) diffs (truncated from 408 to 300 lines): diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -545,6 +545,7 @@ rel_project_add_exp( mvc *sql, sql_rel * if (!rel->exps) rel->exps = new_exp_list(sql->sa); append(rel->exps, e); + rel->nrcols++; if (e->card > rel->card) rel->card = e->card; } else if (rel->op == op_groupby) { @@ -647,6 +648,7 @@ rel_groupby_add_aggr(mvc *sql, sql_rel * exp_setname(sql->sa, e, nme, nme); } append(rel->exps, e); + rel->nrcols++; m = e; } ne = exp_column(sql->sa, exp_relname(m), exp_name(m), exp_subtype(m), diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -217,6 +217,8 @@ rel_table_optname(mvc *sql, sql_rel *sq, sq = rel_project(sql->sa, sq, rel_projections(sql, sq, NULL, 1, 1)); osq = sq; } + if (columnrefs && dlist_length(columnrefs) > sq->nrcols) + return sql_error(sql, 02, SQLSTATE(42000) "SELECT: The number of aliases is longer than the number of columns (%d>%d)", dlist_length(columnrefs), sq->nrcols); if (columnrefs && sq->exps) { dnode *d = columnrefs->h; node *ne = sq->exps->h; @@ -608,7 +610,7 @@ rel_named_table_function(sql_query *quer append(tl, exp_subtype(e)); } } - + if (sname) s = mvc_bind_schema(sql, sname); e = find_table_function(sql, s, fname, exps, tl); @@ -650,6 +652,8 @@ rel_named_table_function(sql_query *quer append(exps, exp_column(sql->sa, tname, a->name, >type, CARD_MULTI, 1, 0)); } rel = rel_table_func(sql->sa, rel, e, exps, (sq != NULL)); + if (ast->data.lval->h->next->data.sym && ast->data.lval->h->next->data.sym->data.lval->h->next->data.lval) + rel = rel_table_optname(sql, rel, ast->data.lval->h->next->data.sym); return rel; } @@ -712,7 +716,7 @@ rel_values(sql_query *query, symbol *tab symbol *optname = rowlist->t->data.sym; dnode *o; node *m; - list *exps = sa_list(sql->sa); + list *exps = sa_list(sql->sa); exp_kind ek = {type_value, card_value, TRUE}; if (!rowlist->h) @@ -784,8 +788,8 @@ rel_values(sql_query *query, symbol *tab vals->f = nexps; } r = rel_project(sql->sa, NULL, exps); - rel_table_optname(sql, r, optname); - return r; + r->nrcols = list_length(exps); + return rel_table_optname(sql, r, optname); } static int @@ -813,6 +817,7 @@ table_ref(sql_query *query, sql_rel *rel mvc *sql = query->sql; char *tname = NULL; sql_table *t = NULL; + sql_rel *res = NULL; if (tableref->token == SQL_NAME) { dlist *name = tableref->data.lval->h->data.lval; @@ -888,7 +893,10 @@ table_ref(sql_query *query, sql_rel *rel if ((isMergeTable(t) || isReplicaTable(t)) && list_empty(t->members.set)) return sql_error(sql, 02, SQLSTATE(42000) "MERGE or REPLICA TABLE should have at least one table associated"); - return rel_basetable(sql, t, tname); + res = rel_basetable(sql, t, tname); + if (tableref->data.lval->h->next->data.sym && tableref->data.lval->h->next->data.sym->data.lval->h->next->data.lval) /* AS with column aliases */ + res = rel_table_optname(sql, res, tableref->data.lval->h->next->data.sym); + return res; } else if (tableref->token == SQL_VALUES) { return rel_values(query, tableref); } else if (tableref->token == SQL_TABLE) { diff --git a/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql b/sql/test/BugTracker-2018/Tests/lateral-join-crash.Bug-6613.sql ---
MonetDB: default - Merge with Apr2019.
Changeset: bc2491ec7942 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bc2491ec7942 Modified Files: sql/server/rel_exp.c sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out Branch: default Log Message: Merge with Apr2019. diffs (61 lines): diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.sql @@ -22,3 +22,6 @@ SELECT - 54 * + 0; -- 0 SELECT ALL - 30 + + 85, - ( - + 43 ) - 71 + - 0 * - - 78 + - 78 + - - 47 * - 93 + 32 * + SUM ( 90 ) AS col0; -- 55, -1597 SELECT ALL + COUNT ( * ) - - + 0 * - 32; -- 1 SELECT CAST ( NULL AS INTEGER ) - 1 - 1 + 2 * 70; --NULL +SELECT ALL - - 11 + 51 + + 32 + 13 - - - NULLIF ( - + 52, + + 19 ) - + ( + + 9 ) + + 44 * - 69 / + - 30 + 24 / - 71 + + CAST ( NULL AS REAL ) * - 72 + - 44 * - + 68 + - + COUNT ( DISTINCT 55 ) AS col1; -- NULL +SELECT - + 94 * - 81 / + 4 + + 92 * + + CAST ( NULL AS REAL ) * + + 97 * - ( + - COUNT ( * ) ) AS col0; -- NULL +SELECT 71 * - 59 / - COUNT ( * ) + - 98 * - + 35 / + CAST ( NULL AS REAL ) / - ( + COUNT ( * ) ) AS col0; --NULL diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql @@ -1,4 +1,5 @@ CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER); INSERT INTO tab0 VALUES(83,0,38), (26,0,79), (43,81,24); SELECT CAST (- col0 * - + 8 + + + col0 + + + col0 + + + 42 * col0 AS BIGINT) FROM tab0 GROUP BY col0, col0, col1 HAVING NOT 18 + - col0 IN ( + CAST ( + col0 AS INTEGER ) ); +SELECT col2 FROM tab0 AS cor0 WHERE NOT 49 + + col1 IS NULL GROUP BY col2, col1 HAVING NOT ( COUNT ( * ) ) BETWEEN + 76 - - col2 AND - CASE NULLIF ( - 39, CAST ( - col1 AS INTEGER ) ) WHEN + 67 * - 30 THEN CAST ( 1 AS INTEGER ) + + COUNT ( * ) * col2 ELSE NULL END; --79, 38, 24 DROP TABLE tab0; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out @@ -34,6 +34,11 @@ stdout of test 'sqlitelogictest-groupby- [ 4316 ] [ 1352 ] [ 2236 ] +#SELECT col2 FROM tab0 AS cor0 WHERE NOT 49 + + col1 IS NULL GROUP BY col2, col1 HAVING NOT ( COUNT ( * ) ) BETWEEN + 76 - - col2 AND - CASE NULLIF ( - 39, CAST ( - col1 AS INTEGER ) ) WHEN + 67 * - 30 THEN CAST ( 1 AS INTEGER ) + + COUNT ( * ) * col2 ELSE NULL END; --79, 38, 24 +% sys.cor0 # table_name +% col2 # name +% int # type +% 1 # length #DROP TABLE tab0; # 16:15:04 > diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql @@ -1,4 +1,5 @@ CREATE TABLE tab1(col0 INTEGER, col1 INTEGER, col2 INTEGER); INSERT INTO tab1 VALUES(22,6,8), (28,57,45), (82,44,71); SELECT + - col2 FROM tab1 AS cor0 GROUP BY col0, col2 HAVING ( col2 / + 15 + + 88 ) IN ( AVG ( col2 ) ); +SELECT DISTINCT - NULLIF ( - 85, 24 ) * tab1.col1 FROM tab1 GROUP BY tab1.col1; DROP TABLE tab1; diff --git a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out --- a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out +++ b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out @@ -31,6 +31,14 @@ stdout of test 'sqlitelogictest-groupby- % L2 # name % int # type % 1 # length +#SELECT
MonetDB: default - Updated ChangeLog.
Changeset: aab0913b3954 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aab0913b3954 Modified Files: monetdb5/ChangeLog tools/merovingian/ChangeLog Branch: default Log Message: Updated ChangeLog. diffs (27 lines): diff --git a/monetdb5/ChangeLog b/monetdb5/ChangeLog --- a/monetdb5/ChangeLog +++ b/monetdb5/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog file for MonetDB5 # This file is updated with Maddlog +* Thu May 2 2019 Pedro Ferreira +- Added "mapi_ipv6" property to monet_options to force ipv6 address + binding only. This property is inherited while forking from + monetdbd if it is also set there. + * Thu Apr 18 2019 Sjoerd Mullender - Removed (bat)calc.between_symmetric and changed (bat)calc.between by adding a number of extra arguments, all of type :bit: symmetric, diff --git a/tools/merovingian/ChangeLog b/tools/merovingian/ChangeLog --- a/tools/merovingian/ChangeLog +++ b/tools/merovingian/ChangeLog @@ -1,3 +1,8 @@ # ChangeLog file for sql/src/backends/monet5/merovingian # This file is updated with mchangelog +* Thu May 2 2019 Pedro Ferreira +- Added ipv6 property to monetdbd properties to force IPv6 addresses + binding only. By default this property is false to allow IPv4 + addresses as well. + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Implemented values (...) as a SQL query. This...
Changeset: fa18c6cd7a97 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa18c6cd7a97 Added Files: sql/test/miscellaneous/Tests/values.sql sql/test/miscellaneous/Tests/values.stable.err sql/test/miscellaneous/Tests/values.stable.out Modified Files: sql/server/rel_select.c sql/server/rel_semantic.c sql/server/sql_parser.y sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out sql/test/miscellaneous/Tests/All Branch: default Log Message: Implemented values (...) as a SQL query. This was a SQL standard feature missing from MonetDB. Instead of writing SELECT a,b UNION SELECT c,d UNION SELECT e,f we can just write VALUES (a,b), (c,d), (e,f) diffs (truncated from 440 to 300 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -717,17 +717,17 @@ rel_values(sql_query *query, symbol *tab dnode *o; node *m; list *exps = sa_list(sql->sa); - exp_kind ek = {type_value, card_value, TRUE}; - if (!rowlist->h) - r = rel_project(sql->sa, NULL, NULL); - - /* last element in the list is the table_name */ - for (o = rowlist->h; o->next; o = o->next) { + + for (o = rowlist->h; o; o = o->next) { dlist *values = o->data.lval; - if (r && list_length(r->exps) != dlist_length(values)) { - return sql_error(sql, 02, SQLSTATE(42000) "VALUES: number of values doesn't match"); + /* When performing sub-queries, the relation name appears under a SQL_NAME symbol at the end of the list */ + if (o->type == type_symbol && o->data.sym->token == SQL_NAME) + break; + + if (!list_empty(exps) && list_length(exps) != dlist_length(values)) { + return sql_error(sql, 02, SQLSTATE(42000) "VALUES: number of columns doesn't match between rows"); } else { dnode *n; @@ -2606,6 +2606,8 @@ rel_logical_value_exp(sql_query *query, return rel_lastexp(sql, *rel); return NULL; } + case SQL_DEFAULT: + return sql_error(sql, 02, SQLSTATE(42000) "DEFAULT keyword not allowed outside insert and update statements"); default: { sql_exp *re, *le = rel_value_exp(query, rel, sc, f, ek); sql_subtype bt; @@ -3272,6 +3274,8 @@ rel_logical_exp(sql_query *query, sql_re case SQL_EXCEPT: case SQL_INTERSECT: return rel_setquery(query, rel, sc); + case SQL_DEFAULT: + return sql_error(sql, 02, SQLSTATE(42000) "DEFAULT keyword not allowed outside insert and update statements"); default: { sql_exp *re, *le = rel_value_exp(query, , sc, f, ek); @@ -5814,6 +5818,8 @@ rel_value_exp2(sql_query *query, sql_rel case SQL_COALESCE: case SQL_NULLIF: return rel_case_exp(query, rel, se, f); + case SQL_DEFAULT: + return sql_error(sql, 02, SQLSTATE(42000) "DEFAULT keyword not allowed outside insert and update statements"); case SQL_XMLELEMENT: case SQL_XMLFOREST: case SQL_XMLCOMMENT: @@ -6422,8 +6428,6 @@ rel_setquery(sql_query *query, sql_rel * return res; } - - static sql_rel * rel_joinquery_(sql_query *query, sql_rel *rel, symbol *tab1, int natural, jt jointype, symbol *tab2, symbol *js) { @@ -6682,6 +6686,10 @@ rel_selects(sql_query *query, symbol *s) ret = rel_with_query(query, s); sql->type = Q_TABLE; break; + case SQL_VALUES: + ret = rel_values(query, s); + sql->type = Q_TABLE; + break; case SQL_SELECT: { exp_kind ek = {type_value, card_relation, TRUE}; SelectNode *sn = (SelectNode *) s; diff --git a/sql/server/rel_semantic.c b/sql/server/rel_semantic.c --- a/sql/server/rel_semantic.c +++ b/sql/server/rel_semantic.c @@ -234,6 +234,7 @@ rel_semantic(sql_query *query, symbol *s case SQL_UNION: case SQL_EXCEPT: case SQL_INTERSECT: + case SQL_VALUES: return rel_selects(query, s); default: diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -3223,8 +3223,6 @@ values_or_query_spec: { $$ = _symbol_create_list( SQL_VALUES, L()); } | DEFAULT VALUES { $$ = _symbol_create_list( SQL_VALUES, L()); } - | VALUES row_commalist - { $$ = _symbol_create_list( SQL_VALUES, $2); } | query_expression ; @@ -3437,11 +3435,9 @@ with_query_expression: | merge_stmt ; - sql: -
MonetDB: Apr2019 - Do a transaction hard reset during a rollback...
Changeset: 3b1bf1b6a3d0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3b1bf1b6a3d0 Added Files: sql/test/rename/Tests/rename10.sql sql/test/rename/Tests/rename10.stable.err sql/test/rename/Tests/rename10.stable.out Modified Files: sql/include/sql_catalog.h sql/storage/store.c sql/test/rename/Tests/All Branch: Apr2019 Log Message: Do a transaction hard reset during a rollback from a transaction with table schema changes. This avoids problems when rollbacking a transaction with both a schema name change and table drop. diffs (193 lines): diff --git a/sql/include/sql_catalog.h b/sql/include/sql_catalog.h --- a/sql/include/sql_catalog.h +++ b/sql/include/sql_catalog.h @@ -605,7 +605,6 @@ typedef struct sql_moved_table { sql_schema *from; sql_schema *to; sql_table *t; - node *p; //need to iterate the list backwards } sql_moved_table; typedef struct res_col { diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -3987,20 +3987,7 @@ reset_schema(sql_trans *tr, sql_schema * static int reset_trans(sql_trans *tr, sql_trans *ptr) { - int res; - - if (tr != gtrans && tr->moved_tables) { //before doing any schema updates, - for (node *n = tr->moved_tables->t ; n ; ) { //iterate backwards - sql_moved_table *smt = (sql_moved_table*) n->data; - - assert(smt && smt->to && smt->from && smt->t); - cs_move(>to->tables, >from->tables, smt->t); - smt->t->s = smt->from; - n = smt->p; - } - } - tr->moved_tables = NULL; - res = reset_changeset(tr, >schemas, >schemas, (sql_base *)tr->parent, (resetf) _schema, (dupfunc) _dup); + int res = reset_changeset(tr, >schemas, >schemas, (sql_base *)tr->parent, (resetf) _schema, (dupfunc) _dup); #ifdef STORE_DEBUG fprintf(stderr,"#reset trans %d\n", tr->wtime); #endif @@ -5209,7 +5196,6 @@ sql_trans_set_table_schema(sql_trans *tr m->from = os; m->to = ns; m->t = t; - m->p = tr->moved_tables->t; list_append(tr->moved_tables, m); tr->wtime = tr->wstime; @@ -6516,8 +6502,15 @@ sql_trans_begin(sql_session *s) fprintf(stderr,"#sql trans begin %d\n", snr); #endif if (tr->stime < gtrans->wstime || tr->wtime || - store_schema_number() != snr) - reset_trans(tr, gtrans); + store_schema_number() != snr) { + if (!list_empty(tr->moved_tables)) { + tr->name = (char*)1; /* make sure it get destroyed properly */ + sql_trans_destroy(tr); + s->tr = tr = sql_trans_create(s->stk, NULL, NULL); + } else { + reset_trans(tr, gtrans); + } + } tr = trans_init(tr, tr->stk, tr->parent); s->active = 1; s->schema = find_sql_schema(tr, s->schema_name); diff --git a/sql/test/rename/Tests/All b/sql/test/rename/Tests/All --- a/sql/test/rename/Tests/All +++ b/sql/test/rename/Tests/All @@ -8,3 +8,4 @@ rename06 rename07 rename08 rename09 +rename10 diff --git a/sql/test/rename/Tests/rename10.sql b/sql/test/rename/Tests/rename10.sql new file mode 100644 --- /dev/null +++ b/sql/test/rename/Tests/rename10.sql @@ -0,0 +1,16 @@ +create schema "SA"; +create schema "SB"; + +create table "SA"."t1" (a int); +insert into "SA"."t1" values (1); + +start transaction; +alter table "SA"."t1" set schema "SB"; +drop table "SB"."t1"; +rollback; + +select "a" from "SA"."t1"; +select "a" from "SB"."t1"; --error + +drop schema "SA" cascade; +drop schema "SB" cascade; diff --git a/sql/test/rename/Tests/rename10.stable.err b/sql/test/rename/Tests/rename10.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/rename/Tests/rename10.stable.err @@ -0,0 +1,44 @@ +stderr of test 'rename10` in directory 'sql/test/rename` itself: + + +# 14:45:03 > +# 14:45:03 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=37484" "--set" "mapi_usock=/var/tmp/mtest-8569/.s.monetdb.37484" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/repositories/MonetDB-Apr2019/BUILD/var/MonetDB/mTests_sql_test_rename" "--set" "embedded_c=true" +# 14:45:03 > + +# builtin opt gdk_dbpath = /home/ferreira/repositories/MonetDB-Apr2019/BUILD/var/monetdb5/dbfarm/demo +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 37484 +# cmdline opt mapi_usock = /var/tmp/mtest-8569/.s.monetdb.37484
MonetDB: cmake-fun - Test for libiconv_open symbol on FreeBSD, b...
Changeset: dc333e9166fc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dc333e9166fc Added Files: cmake/FindIconvMonetDB.cmake Modified Files: CMakeLists.txt clients/odbc/winsetup/setup.c cmake/FindNetCDF.cmake common/stream/CMakeLists.txt gdk/CMakeLists.txt gdk/gdk_posix.c gdk/monetdb-gdk.pc.in monetdb5/tools/CMakeLists.txt Branch: cmake-fun Log Message: Test for libiconv_open symbol on FreeBSD, because it requires it. Also fixed some pkg-config libraries output. Don't include windows.h more than once. diffs (205 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -321,15 +321,12 @@ if(NOT BISON_FOUND) endif() # Iconv -set(ICONV_INCLUDE_DIR "") -set(ICONV_LIBRARIES "") -include(FindIconv) -if(Iconv_FOUND) +include(FindIconvMonetDB) +if(ICONV_FOUND) set(HAVE_ICONV ON) - if(NOT Iconv_IS_BUILT_IN) - set(ICONV_INCLUDE_DIR "${Iconv_INCLUDE_DIR}") - set(ICONV_LIBRARIES "${Iconv_LIBRARY}") - endif() +else() + set(ICONV_INCLUDE_DIR "") + set(ICONV_LIBRARIES "") endif() set(WITH_BZ2 "AUTO" CACHE STRING "Include bz2 support (default=AUTO)") # Check with BZip2_FOUND @@ -429,7 +426,7 @@ set(THREAD_LIBRARIES "${CMAKE_THREAD_LIB # Readline libraries set(READLINE_LIBRARIES "") -set(WITH_READLINE "AUTO" CACHE PATH "Include readline support (default=AUTO)") # Check with HAVE_LIBREADLINE +set(WITH_READLINE "AUTO" CACHE STRING "Include readline support (default=AUTO)") # Check with HAVE_LIBREADLINE if(NOT ${WITH_READLINE} STREQUAL "NO") cmake_push_check_state() set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};readline") @@ -821,7 +818,7 @@ if(NOT PROJ_FOUND) endif() set(SAMTOOLS_LIBRARIES "") -set(ENABLE_SAMTOOLS "AUTO" CACHE PATH "Include Samtools support (default=AUTO)") # Check with HAVE_SAMTOOLS +set(ENABLE_SAMTOOLS "AUTO" CACHE STRING "Include Samtools support (default=AUTO)") # Check with HAVE_SAMTOOLS if(NOT ${ENABLE_SAMTOOLS} STREQUAL "NO") cmake_push_check_state() set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};${MATH_LIBRARIES};${THREAD_LIBRARIES};${ZLIB_LIBRARIES};bam") diff --git a/clients/odbc/winsetup/setup.c b/clients/odbc/winsetup/setup.c --- a/clients/odbc/winsetup/setup.c +++ b/clients/odbc/winsetup/setup.c @@ -7,7 +7,6 @@ */ #include "monetdb_config.h" -#include /* indicate to sqltypes.h that windows.h has already been included and that it doesn't have to define Windows constants */ #ifndef ALREADY_HAVE_WINDOWS_TYPE diff --git a/cmake/FindIconvMonetDB.cmake b/cmake/FindIconvMonetDB.cmake new file mode 100644 --- /dev/null +++ b/cmake/FindIconvMonetDB.cmake @@ -0,0 +1,37 @@ +# - Find iconv +# Test if iconv is natively supported or not +# WARNING This file name is FindIconvMonetDB to not confuse with FindIconv from Cmake. We don't use that version because +# we have to check for existence of libiconv_open symbol in FreeBSD. +# +# ICONV_INCLUDE_DIR- where to find iconv.h, etc. +# ICONV_LIBRARIES - List of libraries when using iconv. +# ICONV_FOUND - True if iconv found. +# ICONV_IS_BUILT_IN - If iconv is built in + +if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") # On FreeBSD, libiconv_open symbol is required + check_symbol_exists("libiconv_open" "iconv.h" ICONV_IS_BUILT_IN) +else() + check_symbol_exists("iconv_open" "iconv.h" ICONV_IS_BUILT_IN) +endif() + +if(ICONV_IS_BUILT_IN) + set(ICONV_INCLUDE_DIR "") + set(ICONV_LIBRARY_NAME "c") +else() + # Look for the header file + find_path(ICONV_INCLUDE_DIR NAMES "iconv.h" DOC "iconv include directory") + # Search if the library name is iconv or libiconv + find_path(ICONV_LIBRARY_NAME NAMES "iconv" "libiconv" DOC "iconv library") +endif() + +# Look for the library +find_library(ICONV_LIBRARIES NAMES "${ICONV_LIBRARY_NAME}" DOC "iconv library (potentially the C library)") + +include(FindPackageHandleStandardArgs) +if(ICONV_IS_BUILT_IN) # If the library is built in, we don't have to check if the include directory is ok, because it will be empty + find_package_handle_standard_args(Iconv REQUIRED_VARS ICONV_LIBRARIES) +else() + find_package_handle_standard_args(Iconv REQUIRED_VARS ICONV_LIBRARIES ICONV_INCLUDE_DIR) +endif() + +mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARIES) diff --git a/cmake/FindNetCDF.cmake b/cmake/FindNetCDF.cmake --- a/cmake/FindNetCDF.cmake +++ b/cmake/FindNetCDF.cmake @@ -1,7 +1,7 @@ # - Find netcdf # Find the native netcdf headers and libraries. # -# NETCDF_INCLUDE_DIR - where to find proj_api.h, etc. +# NETCDF_INCLUDE_DIR - where to find netcdf.h, etc. # NETCDF_LIBRARIES - List of libraries when using netcdf. # NETCDF_VERSION - netcdf version if found # NETCDF_FOUND - True if netcdf found. diff --git a/common/stream/CMakeLists.txt
MonetDB: cmake-fun - Intel compiler fixes.
Changeset: 20831b61f40c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20831b61f40c Modified Files: CMakeLists.txt clients/odbc/driver/SQLTables.c monetdb5/extras/rapi/CMakeLists.txt Branch: cmake-fun Log Message: Intel compiler fixes. diffs (118 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,7 +102,7 @@ set(WITH_LIBXML2 "AUTO" CACHE STRING "In set(WITH_LZ4 "AUTO" CACHE STRING "Include lz4 library support (default=AUTO)") # Check with HAVE_LIBLZ4 set(WITH_PROJ "AUTO" CACHE STRING "Include proj support (default=AUTO)") # Check with HAVE_PROJ set(WITH_READLINE "AUTO" CACHE STRING "Include readline support (default=AUTO)") # Check with HAVE_LIBREADLINE -set(WITH_REGEX "PCRE" CACHE STRING "Use either PCRE or POSIX regular expressions (default=PCRE if available)") # Check with HAVE_LIBPCRE and HAVE_POSIX_REGEX +set(WITH_REGEX "AUTO" CACHE STRING "Use either PCRE or POSIX regular expressions (default=PCRE if available)") # Check with HAVE_LIBPCRE and HAVE_POSIX_REGEX set(WITH_SNAPPY "AUTO" CACHE STRING "Include snappy support (default=AUTO)") # Check with HAVE_LIBSNAPPY set(WITH_UUID "AUTO" CACHE STRING "Include UUID support (default=AUTO)") # Check with HAVE_UUID set(WITH_VALGRIND "NO" CACHE STRING "Include valgrind support (default=NO)") # Check with HAVE_VALGRIND @@ -149,11 +149,28 @@ else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") endif() +function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with LINK_OPTIONS yet! + if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}") + string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake will get confused if we don't remove - / = , + cmake_push_check_state() + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}") + check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST}) + cmake_pop_check_state() + if(COMPILER_${FLAG_TEST}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}" PARENT_SCOPE) + endif() + endif() +endfunction() + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE) set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + MT_checkCompilerFlag("-no-gcc") + add_definitions(-D_Float32=float -D_Float64="long double" -D_Float32x=double -D_Float64x="long double") + endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 file(READ "${ROOT}/usr/include/math.h" TMPTXT) string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION) @@ -161,6 +178,7 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte set(INTEL_MATH_H_HACK ON CACHE INTERNAL "must use intel math.h hack") endif() endif() + set(__attribute__(a) ON) set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON CACHE INTERNAL "NaN cannot be used as an initializer") # This hack is only required by the Intel compiler elseif(MSVC) set(_Noreturn "__declspec(noreturn)") @@ -649,19 +667,6 @@ else() #GCC, clang and Apple clang endif() endif() -function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with LINK_OPTIONS yet! - if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}") - string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake will get confused if we don't remove - / = , - cmake_push_check_state() - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}") - check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST}) - cmake_pop_check_state() - if(COMPILER_${FLAG_TEST}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}" PARENT_SCOPE) - endif() - endif() -endfunction() - if(${ENABLE_STRICT} STREQUAL "YES") if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$") MT_checkCompilerFlag("-W") @@ -702,15 +707,16 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_checkCompilerFlag("-Wno-char-subscripts") MT_checkCompilerFlag("-Wunreachable-code") elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") - if(NOT WIN32) + if(WIN32) + set(INTEL_OPTION_EXTRA "Q") + else() MT_checkCompilerFlag("${COMPILER_OPTION}shared-intel") endif() MT_checkCompilerFlag("${COMPILER_OPTION}Wall")
MonetDB: cmake-fun - Compilation fixes for Intel compiler.
Changeset: 4b8ccf454a25 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4b8ccf454a25 Modified Files: CMakeLists.txt gdk/gdk_utils.c monetdb5/extras/rapi/CMakeLists.txt monetdb_config.h.in sql/backends/monet5/UDF/capi/capi.c Branch: cmake-fun Log Message: Compilation fixes for Intel compiler. diffs (78 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,7 @@ endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") MT_addCompilerFlag("-no-gcc" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - add_definitions(-D_Float32=float -D_Float64="long double" -D_Float32x=double -D_Float64x="long double") + MT_addCompilerFlag("-no-gcc-include-dir" "-no-gcc-include-dir" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 file(READ "${ROOT}/usr/include/math.h" TMPTXT) @@ -174,6 +174,7 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte endif() endif() set(__attribute__(a) ON) + set(_Pragma(a) ON) set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON CACHE INTERNAL "NaN cannot be used as an initializer") # This hack is only required by the Intel compiler elseif(MSVC) set(_Noreturn "__declspec(noreturn)") diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -1219,9 +1219,11 @@ GDKfatal(const char *format, ...) #endif } } +#ifdef __INTEL_COMPILER /* We should never reach here (Intel compiler fix) */ + exit(1); +#endif } - lng GDKusec(void) { diff --git a/monetdb5/extras/rapi/CMakeLists.txt b/monetdb5/extras/rapi/CMakeLists.txt --- a/monetdb5/extras/rapi/CMakeLists.txt +++ b/monetdb5/extras/rapi/CMakeLists.txt @@ -55,11 +55,7 @@ if(HAVE_LIBR) target_link_libraries(rapi PRIVATE ${RAPI_LINK_LIBRARIES}) set_target_properties(rapi PROPERTIES OUTPUT_NAME _rapi) target_compile_definitions(rapi PRIVATE LIBRAPI) - cmake_push_check_state() - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS};-Wno-redundant-decls") - check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_Wnoredundantdecls) # Warning don't add '-' or '/' to the output variable! - cmake_pop_check_state() - if(COMPILER_Wnoredundantdecls) + if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$") target_compile_options(rapi PRIVATE -Wno-redundant-decls) endif() diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -441,6 +441,10 @@ #cmakedefine __attribute__(a) #endif +#ifndef _Pragma +#cmakedefine _Pragma(a) +#endif + /* Does your compiler support the `_Noreturn' specifier? (C11 feature) */ #ifndef _Noreturn #cmakedefine _Noreturn @_Noreturn@ 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 @@ -19,7 +19,7 @@ #include #include -#if defined(__GNUC__) && !defined(__clang__) +#if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) #pragma GCC diagnostic ignored "-Wclobbered" #endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Intel compiler fixes.
Changeset: 45a4d4443e34 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=45a4d4443e34 Modified Files: CMakeLists.txt sql/server/CMakeLists.txt Branch: cmake-fun Log Message: Intel compiler fixes. diffs (75 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,7 +154,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") - add_compile_options(-no-gcc) # Intel compiler hack if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 file(READ "${ROOT}/usr/include/math.h" TMPTXT) string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION) @@ -594,10 +593,12 @@ if(MSVC) MT_addCompilerFlag("/MD" "/MD" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") MT_removeCompilerFlag("${COMPILER_OPTION}O[0-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) - MT_removeCompilerFlag("${COMPILER_OPTION}O[013-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) - MT_removeCompilerFlag("${COMPILER_OPTION}O[013-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) + MT_removeCompilerFlag("${COMPILER_OPTION}O[0-24-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) + MT_removeCompilerFlag("${COMPILER_OPTION}O[0-24-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) MT_removeCompilerFlag("${COMPILER_OPTION}O[02-9]+[ ]?" "${COMPILER_OPTION}Ox" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) - MT_addCompilerFlag("${COMPILER_OPTION}Od" "${COMPILER_OPTION}Od" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) + if(WIN32) + MT_addCompilerFlag("${COMPILER_OPTION}Od" "${COMPILER_OPTION}Od" "${CMAKE_C_FLAGS_DEBUG}" "Debug" CMAKE_C_FLAGS_DEBUG) + endif() MT_addCompilerFlag("${COMPILER_OPTION}O3" "${COMPILER_OPTION}O3" "${CMAKE_C_FLAGS_RELEASE}" "Release" CMAKE_C_FLAGS_RELEASE) MT_addCompilerFlag("${COMPILER_OPTION}O3" "${COMPILER_OPTION}O3" "${CMAKE_C_FLAGS_RELWITHDEBINFO}" "RelWithDebugInfo" CMAKE_C_FLAGS_RELWITHDEBINFO) MT_addCompilerFlag("${COMPILER_OPTION}O1" "${COMPILER_OPTION}O1" "${CMAKE_C_FLAGS_MINSIZEREL}" "MinSizeRel" CMAKE_C_FLAGS_MINSIZEREL) @@ -650,7 +651,7 @@ endif() function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with LINK_OPTIONS yet! if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}") - string(REGEX REPLACE "[-/=]" "" FLAG_TEST "${Flag}") # cmake will get confused if we don't remove - / = + string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake will get confused if we don't remove - / = , cmake_push_check_state() set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}") check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST}) @@ -700,16 +701,16 @@ if(${ENABLE_STRICT} STREQUAL "YES") MT_checkCompilerFlag("-Wnested-externs") MT_checkCompilerFlag("-Wno-char-subscripts") MT_checkCompilerFlag("-Wunreachable-code") - elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel" AND ${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - MT_addCompilerFlag("-shared-intel" "-shared-intel" "${LINK_OPTIONS}" "all" LINK_OPTIONS) - MT_checkCompilerFlag("-ansi") - MT_checkCompilerFlag("-Wall") - MT_checkCompilerFlag("-w2") - MT_checkCompilerFlag("-Wcheck") - MT_checkCompilerFlag("-Werror") - MT_checkCompilerFlag("-Werror-all") - MT_checkCompilerFlag("-we140,147,181,266,271,593,810") - MT_checkCompilerFlag("-wd193,279,981,1357,1418,1419,2259") + elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") + if(NOT WIN32) + MT_checkCompilerFlag("${COMPILER_OPTION}shared-intel") + endif() + MT_checkCompilerFlag("${COMPILER_OPTION}Wall") + MT_checkCompilerFlag("${COMPILER_OPTION}Wcheck") + MT_checkCompilerFlag("${COMPILER_OPTION}Werror-all") + # WINDOWS set(INTEL_CHECK_EXTRA "Q") + #MT_checkCompilerFlag("${COMPILER_OPTION}${INTEL_CHECK_EXTRA}we140,147,181,266,271,593,810") + #MT_checkCompilerFlag("${COMPILER_OPTION}${INTEL_CHECK_EXTRA}wd193,279,981,1357,1418,1419,2259") elseif(MSVC)
MonetDB: cmake-fun - Remove redundant if.
Changeset: 9b5dfc932289 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9b5dfc932289 Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Remove redundant if. diffs (14 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,9 +163,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - if(NOT ${CMAKE_C_FLAGS} MATCHES "no-gcc") - MT_addCompilerFlag("-no-gcc" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) - endif() + MT_addCompilerFlag("-no-gcc" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) add_definitions(-D_Float32=float -D_Float64="long double" -D_Float32x=double -D_Float64x="long double") endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Replace with correct check.
Changeset: a0b77fec6eb2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a0b77fec6eb2 Modified Files: CMakeLists.txt Branch: cmake-fun Log Message: Replace with correct check. diffs (71 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,26 +149,22 @@ else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") endif() -function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with LINK_OPTIONS yet! - if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}") - string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake will get confused if we don't remove - / = , - cmake_push_check_state() - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}") - check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST}) - cmake_pop_check_state() - if(COMPILER_${FLAG_TEST}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}" PARENT_SCOPE) - endif() +function(MT_addCompilerFlag REGEX_EXPRESSION FLAG_TO_ADD OLD_FLAGS BUILD NEW_FLAGS) + if(NOT "${OLD_FLAGS}" MATCHES "${REGEX_EXPRESSION}") + set(${NEW_FLAGS} "${OLD_FLAGS} ${FLAG_TO_ADD}" PARENT_SCOPE) + message(STATUS "Added ${FLAG_TO_ADD} flag for ${BUILD} build(s)") endif() endfunction() -if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") +if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT ${CMAKE_C_COMPILER_ID} STREQUAL "Intel") add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE) set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - MT_checkCompilerFlag("-no-gcc") + if(NOT ${CMAKE_C_FLAGS} MATCHES "no-gcc") + MT_addCompilerFlag("-no-gcc" "-no-gcc" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + endif() add_definitions(-D_Float32=float -D_Float64="long double" -D_Float32x=double -D_Float64x="long double") endif() if(EXISTS "${ROOT}/usr/include/math.h") # see https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979 @@ -577,12 +573,6 @@ function(MT_removeCompilerFlag REGEX_EXP message(STATUS "Removed ${FLAG_TO_REMOVE} flag for ${BUILD} build(s)") endif() endfunction() -function(MT_addCompilerFlag REGEX_EXPRESSION FLAG_TO_ADD OLD_FLAGS BUILD NEW_FLAGS) - if(NOT "${OLD_FLAGS}" MATCHES "${REGEX_EXPRESSION}") - set(${NEW_FLAGS} "${OLD_FLAGS} ${FLAG_TO_ADD}" PARENT_SCOPE) - message(STATUS "Added ${FLAG_TO_ADD} flag for ${BUILD} build(s)") - endif() -endfunction() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") # Initialize variable if(MSVC) @@ -667,6 +657,19 @@ else() #GCC, clang and Apple clang endif() endif() +function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with LINK_OPTIONS yet! + if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}") + string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake will get confused if we don't remove - / = , + cmake_push_check_state() + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}") + check_c_source_compiles("int main(int argc,char** argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST}) + cmake_pop_check_state() + if(COMPILER_${FLAG_TEST}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}" PARENT_SCOPE) + endif() + endif() +endfunction() + if(${ENABLE_STRICT} STREQUAL "YES") if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$") MT_checkCompilerFlag("-W") ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list