MonetDB: cmake-fun - Moved string.h include to monetdb_config.h.in

2019-05-11 Thread Pedro Ferreira
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.

2019-05-11 Thread Pedro Ferreira
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...

2019-05-09 Thread Pedro Ferreira
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...

2019-05-09 Thread Pedro Ferreira
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.

2019-05-09 Thread Pedro Ferreira
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.

2019-05-09 Thread Pedro Ferreira
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_...

2019-05-12 Thread Pedro Ferreira
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

2019-05-12 Thread Pedro Ferreira
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...

2019-05-13 Thread Pedro Ferreira
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.

2019-05-13 Thread Pedro Ferreira
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:

2019-05-13 Thread Pedro Ferreira
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:

2019-05-14 Thread Pedro Ferreira
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:

2019-05-15 Thread Pedro Ferreira
 (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

2019-05-21 Thread Pedro Ferreira
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/

2019-05-23 Thread Pedro Ferreira
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...

2019-05-24 Thread Pedro Ferreira
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.

2019-05-24 Thread Pedro Ferreira
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...

2019-05-24 Thread Pedro Ferreira
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.

2019-05-24 Thread Pedro Ferreira
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.

2019-05-24 Thread Pedro Ferreira
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_...

2019-05-24 Thread Pedro Ferreira
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...

2019-05-20 Thread Pedro Ferreira
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.

2019-05-20 Thread Pedro Ferreira
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...

2019-05-20 Thread Pedro Ferreira
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...

2019-05-10 Thread Pedro Ferreira
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...

2019-05-10 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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...

2019-05-10 Thread Pedro Ferreira
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...

2019-05-10 Thread Pedro Ferreira
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.

2019-05-10 Thread Pedro Ferreira
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.

2019-05-10 Thread Pedro Ferreira
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.

2019-05-10 Thread Pedro Ferreira
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 ...

2019-05-21 Thread Pedro Ferreira
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.

2019-05-21 Thread Pedro Ferreira
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...

2019-05-21 Thread Pedro Ferreira
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.

2019-05-21 Thread Pedro Ferreira
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.

2019-05-21 Thread Pedro Ferreira
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...

2019-05-16 Thread Pedro Ferreira
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.

2019-05-16 Thread Pedro Ferreira
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...

2019-05-16 Thread Pedro Ferreira
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...

2019-05-16 Thread Pedro Ferreira
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...

2019-05-16 Thread Pedro Ferreira
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...

2019-05-16 Thread Pedro Ferreira
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.

2019-05-16 Thread Pedro Ferreira
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.

2019-05-15 Thread Pedro Ferreira
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...

2019-05-15 Thread Pedro Ferreira
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.

2019-05-15 Thread Pedro Ferreira
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...

2019-05-15 Thread Pedro Ferreira
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...

2019-05-16 Thread Pedro Ferreira
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.

2019-05-15 Thread Pedro Ferreira
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...

2019-05-15 Thread Pedro Ferreira
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.

2019-05-14 Thread Pedro Ferreira
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...

2019-05-14 Thread Pedro Ferreira
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.

2019-05-14 Thread Pedro Ferreira
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...

2019-04-30 Thread Pedro Ferreira
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.

2019-04-30 Thread Pedro Ferreira
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:

2019-04-29 Thread Pedro Ferreira
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.

2019-05-01 Thread Pedro Ferreira
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...

2019-05-01 Thread Pedro Ferreira
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.

2019-05-01 Thread Pedro Ferreira
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.

2019-05-01 Thread Pedro Ferreira
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 ...

2019-05-01 Thread Pedro Ferreira
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...

2019-05-02 Thread Pedro Ferreira
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.

2019-05-02 Thread Pedro Ferreira
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 ...

2019-04-29 Thread Pedro Ferreira
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.

2019-04-27 Thread Pedro Ferreira
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...

2019-04-30 Thread Pedro Ferreira
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.

2019-04-30 Thread Pedro Ferreira
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

2019-05-07 Thread Pedro Ferreira
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...

2019-05-07 Thread Pedro Ferreira
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

2019-05-07 Thread Pedro Ferreira
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...

2019-05-07 Thread Pedro Ferreira
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 ...

2019-05-07 Thread Pedro Ferreira
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...

2019-05-07 Thread Pedro Ferreira
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

2019-05-07 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-04-19 Thread Pedro Ferreira
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.

2019-05-02 Thread Pedro Ferreira
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.

2019-05-02 Thread Pedro Ferreira
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...

2019-05-02 Thread Pedro Ferreira
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.

2019-05-06 Thread Pedro Ferreira
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.

2019-05-06 Thread Pedro Ferreira
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:

2019-05-06 Thread Pedro Ferreira
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.

2019-05-06 Thread Pedro Ferreira
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.

2019-05-03 Thread Pedro Ferreira
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.

2019-05-03 Thread Pedro Ferreira
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:

2019-05-03 Thread Pedro Ferreira
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 ...

2019-05-03 Thread Pedro Ferreira
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.

2019-05-03 Thread Pedro Ferreira
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.

2019-05-02 Thread Pedro Ferreira
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...

2019-05-03 Thread Pedro Ferreira
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...

2019-04-26 Thread Pedro Ferreira
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...

2019-04-26 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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.

2019-05-08 Thread Pedro Ferreira
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


<    8   9   10   11   12   13   14   15   16   17   >