Changeset: e1b0193840bb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e1b0193840bb
Added Files:
        cmake/FindRevision.cmake
Removed Files:
        common/utils/FindRevision.cmake
Modified Files:
        CMakeLists.txt
        cmake/BuildMacros.cmake
        common/utils/CMakeLists.txt
        embedded/CMakeLists.txt
        embedded/monetdb_embedded.c
        embedded/monetdb_embedded.h
        monetdb5/mal/mal_import.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_wrapper.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cat.c
        sql/server/CMakeLists.txt
        sql/server/rel_optimizer.c
        sql/server/rel_schema.c
        sql/server/sql_mvc.c
        sql/server/sql_scan.c
Branch: cmake-monetdblite
Log Message:

Cleaned unresolved linker references for MonetDBLite.


diffs (truncated from 825 to 300 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -755,6 +755,12 @@ if(${ENABLE_STRICT} STREQUAL "YES")
                MT_addCompilerFlag("/WX" "/WX" "${CMAKE_C_FLAGS}" "all" 
CMAKE_C_FLAGS)
        endif()
 endif()
+if(NOT MSVC)
+       cmake_push_check_state()
+       set(CMAKE_REQUIRED_FLAGS 
"${CMAKE_REQUIRED_FLAGS};-Wno-unreachable-code")
+       check_c_source_compiles("int main(int argc,char** 
argv){(void)argc;(void)argv;return 0;}" COMPILER_Wnounreachablecode) # Warning 
don't add '-' or '/' to the output variable!
+       cmake_pop_check_state()
+endif()
 
 if(${ENABLE_SANITIZER} STREQUAL "YES")
        if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
@@ -785,6 +791,11 @@ find_program(DIFF NAMES gdiff diff DOC "
 find_program(BASH NAMES bash DOC "bash interpreter fullpath")
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+# FindRevision script must run every time to detect the current revision
+add_custom_target(mrevision COMMAND ${CMAKE_COMMAND} ARGS -P 
${CMAKE_SOURCE_DIR}/cmake/FindRevision.cmake
+                                 ${CMAKE_SOURCE_DIR} 
${CMAKE_BINARY_DIR}/monetdb_hgversion.h)
+
 add_subdirectory(buildtools)
 add_subdirectory(common)
 add_subdirectory(clients) # Must come before monetdb5!
@@ -796,9 +807,6 @@ if(HAVE_MONETDB5)
        add_subdirectory(geom) # The SHP vault requires the geom module, so the 
geom module should compile before SQL
        add_subdirectory(tools)
 endif()
-if(HAVE_SQL OR HAVE_EMBEDDED)
-       compile_sqlparser()
-endif()
 if(HAVE_SQL)
        add_subdirectory(sql)
 endif()
diff --git a/cmake/BuildMacros.cmake b/cmake/BuildMacros.cmake
--- a/cmake/BuildMacros.cmake
+++ b/cmake/BuildMacros.cmake
@@ -8,26 +8,6 @@
 
 # This file holds macros for compilation objects common to MonetDB and 
MonetDBLite
 
-# Compile sqlparser with Bison only once for both MonetDB and MonetDBLite
-# Warning! So far the HAVE_EMBEDDED macro is not used in sql_parser.y
-macro(COMPILE_SQLPARSER)
-       bison_target(sqlparser sql/server/sql_parser.y 
${CMAKE_BINARY_DIR}/sql_parser.tab.c
-                               COMPILE_FLAGS "-d -p sql -r all" DEFINES_FILE 
${CMAKE_BINARY_DIR}/sql_parser.tab.h)
-       add_library(bison_obj OBJECT ${BISON_sqlparser_OUTPUTS})
-       set_target_properties(bison_obj PROPERTIES POSITION_INDEPENDENT_CODE ON)
-       target_include_directories(bison_obj PRIVATE common/utils common/stream 
gdk monetdb5/mal sql/common sql/include
-                                                          sql/server 
sql/storage sql/storage/bat)
-       if(NOT MSVC)
-               cmake_push_check_state()
-               set(CMAKE_REQUIRED_FLAGS 
"${CMAKE_REQUIRED_FLAGS};-Wno-unreachable-code")
-               check_c_source_compiles("int main(int argc,char** 
argv){(void)argc;(void)argv;return 0;}" COMPILER_Wnounreachablecode) # Warning 
don't add '-' or '/' to the output variable!
-               cmake_pop_check_state()
-               if(COMPILER_Wnounreachablecode)
-                       target_compile_options(bison_obj PRIVATE 
-Wno-unreachable-code) # use this flag only to compile the bison output
-               endif()
-       endif()
-endmacro()
-
 # Create C array with MAL scripts content as well the module names bundled
 macro(BUILD_EMBEDDED_MAL_SCRIPTS BUNDLE_NAME VARIABLE_NAME SCRIPTS_LIST)
        execute_process(COMMAND "${Python3_EXECUTABLE}" 
"${CMAKE_SOURCE_DIR}/buildtools/scripts/mal2h.py"
diff --git a/common/utils/FindRevision.cmake b/cmake/FindRevision.cmake
rename from common/utils/FindRevision.cmake
rename to cmake/FindRevision.cmake
diff --git a/common/utils/CMakeLists.txt b/common/utils/CMakeLists.txt
--- a/common/utils/CMakeLists.txt
+++ b/common/utils/CMakeLists.txt
@@ -6,11 +6,7 @@
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 #]]
 
-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)
+include_directories(${UUID_INCLUDE_DIR} ${CRYPTO_INCLUDE_DIR})
 
 set(MUTILS_OBJECTS mutils.h mutils.c revision.c)
 set(MCRYPT_OBJECTS mcrypt.h mcrypt.c)
diff --git a/embedded/CMakeLists.txt b/embedded/CMakeLists.txt
--- a/embedded/CMakeLists.txt
+++ b/embedded/CMakeLists.txt
@@ -11,6 +11,15 @@ include_directories(${CMAKE_CURRENT_BINA
                                        ../monetdb5/optimizer 
../sql/backends/monet5 ../sql/include ../sql/common ../sql/scripts
                                        ../sql/server ../sql/storage 
../sql/storage/bat)
 
+bison_target(sqlparserlite ../sql/server/sql_parser.y 
${CMAKE_CURRENT_BINARY_DIR}/sql_sqlparserlite.tab.c
+                        COMPILE_FLAGS "-d -p sql -r all" DEFINES_FILE 
${CMAKE_CURRENT_BINARY_DIR}/sql_sqlparserlite.tab.h)
+add_library(bisonlite_obj OBJECT ${BISON_sqlparserlite_OUTPUTS})
+set_target_properties(bisonlite_obj PROPERTIES POSITION_INDEPENDENT_CODE ON)
+target_compile_definitions(bisonlite_obj PRIVATE HAVE_EMBEDDED)
+if(COMPILER_Wnounreachablecode)
+       target_compile_options(bisonlite_obj PRIVATE -Wno-unreachable-code)
+endif()
+
 set(MAL_SCRIPTS_LIST
        "${CMAKE_SOURCE_DIR}/monetdb5/modules/kernel/mmath.mal"
        "${CMAKE_SOURCE_DIR}/monetdb5/modules/kernel/bat5.mal"
@@ -85,8 +94,11 @@ add_library(monetdblite SHARED
                        ../common/options/monet_options.c
                        ../common/stream/stream.c
                        ../common/utils/mutils.c
+                       ../common/utils/revision.c
                        ../gdk/gdk_aggr.c
                        ../gdk/gdk_align.c
+                       ../gdk/gdk_analytic_bounds.c
+                       ../gdk/gdk_analytic_func.c
                        ../gdk/gdk_atoms.c
                        ../gdk/gdk_bat.c
                        ../gdk/gdk_batop.c
@@ -260,7 +272,8 @@ add_library(monetdblite SHARED
                        ../sql/storage/sql_catalog.c
                        ../sql/storage/store.c
                        ../sql/storage/store_dependency.c
-                       $<TARGET_OBJECTS:bison_obj>)
+                       ../sql/storage/store_sequence.c
+                       $<TARGET_OBJECTS:bisonlite_obj>)
 target_link_libraries(monetdblite PRIVATE ${MATH_LIBRARIES} 
${THREAD_LIBRARIES} ${DL_LIBRARIES} ${KVM_LIBRARIES}
                                          ${PSAPI_LIBRARIES})
 set_target_properties(monetdblite PROPERTIES VERSION ${MONETDB_VERSION} 
SOVERSION ${MONETDB_VERSION_MAJOR}
diff --git a/embedded/monetdb_embedded.c b/embedded/monetdb_embedded.c
--- a/embedded/monetdb_embedded.c
+++ b/embedded/monetdb_embedded.c
@@ -38,7 +38,7 @@ monetdb_is_initialized(void)
        return monetdb_embedded_initialized > 0;
 }
 
-static str
+static char*
 validate_connection(monetdb_connection conn, const char* call)
 {
        if (!monetdb_is_initialized())
@@ -58,11 +58,11 @@ typedef struct {
        monetdb_column **converted_columns;
 } monetdb_result_internal;
 
-str
+char*
 monetdb_connect(monetdb_connection *conn)
 {
        mvc *m;
-       str msg = MAL_SUCCEED;
+       char* msg = MAL_SUCCEED;
        Client mc = NULL;
 
        if (!monetdb_is_initialized()) {
@@ -91,7 +91,7 @@ monetdb_connect(monetdb_connection *conn
 
 cleanup:
        if (msg && mc) {
-               str other = monetdb_disconnect(mc);
+               char* other = monetdb_disconnect(mc);
                if (other)
                        GDKfree(other);
                *conn = NULL;
@@ -100,10 +100,10 @@ cleanup:
        return msg;
 }
 
-str
+char*
 monetdb_disconnect(monetdb_connection conn)
 {
-       str msg = MAL_SUCCEED;
+       char* msg = MAL_SUCCEED;
 
        if ((msg = validate_connection(conn, "embedded.monetdb_disconnect")) != 
MAL_SUCCEED)
                return msg;
@@ -112,7 +112,7 @@ monetdb_disconnect(monetdb_connection co
        return MAL_SUCCEED;
 }
 
-static str
+static char*
 monetdb_shutdown_internal(void)
 {
        if (monetdb_embedded_initialized) {
@@ -122,10 +122,10 @@ monetdb_shutdown_internal(void)
        return MAL_SUCCEED;
 }
 
-str
+char*
 monetdb_startup(char* dbdir, char silent, char sequential)
 {
-       str msg = MAL_SUCCEED;
+       char* msg = MAL_SUCCEED;
        monetdb_result* res = NULL;
        void* c;
        opt *set = NULL;
@@ -208,11 +208,11 @@ cleanup:
        return msg;
 }
 
-static str
-monetdb_query_internal(monetdb_connection conn, char* query, monetdb_result** 
result, lng* affected_rows,
-                                          lng* prepare_id, char language)
+static char*
+monetdb_query_internal(monetdb_connection conn, char* query, monetdb_result** 
result, int64_t* affected_rows,
+                                          int64_t* prepare_id, char language)
 {
-       str msg = MAL_SUCCEED, commit_msg;
+       char* msg = MAL_SUCCEED, *commit_msg;
        Client c = (Client) conn;
        mvc* m;
        backend *b;
@@ -320,7 +320,7 @@ cleanup:
        commit_msg = SQLautocommit(m); //need always to commit even if msg is 
set
        if ((msg != MAL_SUCCEED || commit_msg != MAL_SUCCEED)) {
                if (res_internal) {
-                       str other = monetdb_cleanup_result(conn, 
(monetdb_result*) res_internal);
+                       char* other = monetdb_cleanup_result(conn, 
(monetdb_result*) res_internal);
                        if (other)
                                GDKfree(other);
                }
@@ -334,8 +334,8 @@ cleanup:
        return msg;
 }
 
-str
-monetdb_clear_prepare(monetdb_connection conn, lng id)
+char*
+monetdb_clear_prepare(monetdb_connection conn, int64_t id)
 {
        char query[100];
 
@@ -343,8 +343,8 @@ monetdb_clear_prepare(monetdb_connection
        return(monetdb_query_internal(conn, query, NULL, NULL, NULL, 'X'));
 }
 
-str
-monetdb_send_close(monetdb_connection conn, lng id)
+char*
+monetdb_send_close(monetdb_connection conn, int64_t id)
 {
        char query[100];
 
@@ -354,7 +354,7 @@ monetdb_send_close(monetdb_connection co
        return(monetdb_query_internal(conn, query, NULL, NULL, NULL, 'X'));
 }
 
-str
+char*
 monetdb_set_autocommit(monetdb_connection conn, char value)
 {
        char query[100];
@@ -365,18 +365,18 @@ monetdb_set_autocommit(monetdb_connectio
        return(monetdb_query_internal(conn, query, NULL, NULL, NULL, 'X'));
 }
 
-str
-monetdb_query(monetdb_connection conn, char* query, monetdb_result** result, 
lng* affected_rows, lng* prepare_id)
+char*
+monetdb_query(monetdb_connection conn, char* query, monetdb_result** result, 
int64_t* affected_rows, int64_t* prepare_id)
 {
        return(monetdb_query_internal(conn, query, result, affected_rows, 
prepare_id, 'S'));
 }
 
-str
+char*
 monetdb_append(monetdb_connection conn, const char* schema, const char* table, 
append_data *data, size_t column_count)
 {
        Client c = (Client) conn;
        mvc *m;
-       str msg = MAL_SUCCEED;
+       char* msg = MAL_SUCCEED;
 
        if ((msg = validate_connection(conn, "embedded.monetdb_append")) != 
MAL_SUCCEED)
                return msg;
@@ -437,10 +437,10 @@ monetdb_append(monetdb_connection conn, 
        return SQLautocommit(m);
 }
 
-str
+char*
 monetdb_cleanup_result(monetdb_connection conn, monetdb_result* result)
 {
-       str msg = MAL_SUCCEED;
+       char* msg = MAL_SUCCEED;
        monetdb_result_internal* res = (monetdb_result_internal *) result;
 
        if ((msg = validate_connection(conn, 
"embedded.monetdb_cleanup_result")) != MAL_SUCCEED)
@@ -462,14 +462,14 @@ monetdb_cleanup_result(monetdb_connectio
        return msg;
 }
 
-str
+char*
 monetdb_get_columns(monetdb_connection conn, const char* schema_name, const 
char *table_name, size_t *column_count,
                                        char ***column_names, int 
**column_types)
 {
        mvc *m;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to