Changeset: 6e72bc942b6d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e72bc942b6d
Removed Files:
        sql/scripts/CMakeLists.txt
        sql/scripts/Makefile.ag
        sql/scripts/sql_scripts.c
        sql/scripts/sql_scripts.h
Modified Files:
        embedded/CMakeLists.txt
        sql/CMakeLists.txt
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/sql_scenario.c
Branch: cmake-monetdblite
Log Message:

Use a single mal and a single sql script bundle for MonetDBLite to save space.


diffs (truncated from 452 to 300 lines):

diff --git a/embedded/CMakeLists.txt b/embedded/CMakeLists.txt
--- a/embedded/CMakeLists.txt
+++ b/embedded/CMakeLists.txt
@@ -8,8 +8,8 @@
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR} ../common/options 
../common/utils ../common/stream ../gdk
                                        ../monetdb5/mal 
../monetdb5/modules/kernel ../monetdb5/modules/atoms ../monetdb5/modules/mal
-                                       ../monetdb5/optimizer 
../sql/backends/monet5 ../sql/include ../sql/common ../sql/scripts
-                                       ../sql/server ../sql/storage 
../sql/storage/bat)
+                                       ../monetdb5/optimizer 
../sql/backends/monet5 ../sql/include ../sql/common ../sql/server
+                                       ../sql/storage ../sql/storage/bat)
 
 add_definitions(${COMPILER_OPTION}DLIBMUTILS ${COMPILER_OPTION}DLIBMEROUTIL 
${COMPILER_OPTION}DLIBSTREAM
                                ${COMPILER_OPTION}DLIBGDK 
${COMPILER_OPTION}DLIBMAL ${COMPILER_OPTION}DLIBATOMS
@@ -54,9 +54,7 @@ set(MAL_SCRIPTS_LIST
        "${CMAKE_SOURCE_DIR}/monetdb5/modules/mal/language.mal"
        "${CMAKE_SOURCE_DIR}/monetdb5/modules/mal/01_batcalc.mal"
        "${CMAKE_SOURCE_DIR}/monetdb5/modules/mal/01_calc.mal"
-       "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sql.mal") # sql.mal MUST be 
here
-
-set(SQL_MAL_SCRIPTS_LIST
+       "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sql.mal" # sql.mal MUST be here
        "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sqlcatalog.mal"
        "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sql_transaction.mal"
        "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sql_decimal.mal"
@@ -70,7 +68,7 @@ set(SQL_MAL_SCRIPTS_LIST
        "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sql_inspect.mal"
        "${CMAKE_SOURCE_DIR}/sql/backends/monet5/sql_generator.mal")
 
-set(SQL_SCRIPTS_LIST1
+set(SQL_SCRIPTS_LIST
        "${CMAKE_SOURCE_DIR}/sql/scripts/09_like.sql"
        "${CMAKE_SOURCE_DIR}/sql/scripts/10_math.sql"
        "${CMAKE_SOURCE_DIR}/sql/scripts/11_times.sql"
@@ -85,15 +83,11 @@ set(SQL_SCRIPTS_LIST1
        "${CMAKE_SOURCE_DIR}/sql/scripts/51_sys_schema_extension.sql"
        "${CMAKE_SOURCE_DIR}/sql/scripts/70_storagemodel.sql"
        "${CMAKE_SOURCE_DIR}/sql/scripts/71_statistics.sql"
-       "${CMAKE_SOURCE_DIR}/sql/scripts/90_generator.sql")
-
-set(SQL_SCRIPTS_LIST2
+       "${CMAKE_SOURCE_DIR}/sql/scripts/90_generator.sql"
        "${CMAKE_SOURCE_DIR}/sql/scripts/99_system.sql")
 
 build_embedded_mal_scripts(mal_inline malModules "${MAL_SCRIPTS_LIST}")
-build_embedded_mal_scripts(sql_mal_inline sqlMalModules 
"${SQL_MAL_SCRIPTS_LIST}")
-build_embedded_sql_scripts(createdb_inline1 "${SQL_SCRIPTS_LIST1}")
-build_embedded_sql_scripts(createdb_inline2 "${SQL_SCRIPTS_LIST2}")
+build_embedded_sql_scripts(createdb_inline1 "${SQL_SCRIPTS_LIST}")
 
 add_library(monetdblite SHARED
                        monetdb_embedded.c
@@ -274,7 +268,6 @@ add_library(monetdblite SHARED
                        ../sql/server/sql_scan.c
                        ../sql/server/sql_semantic.c
                        ../sql/server/sql_symbol.c
-                       ../sql/scripts/sql_scripts.c
                        ../sql/storage/bat/bat_logger.c
                        ../sql/storage/bat/bat_storage.c
                        ../sql/storage/bat/bat_table.c
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
--- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt
@@ -11,7 +11,6 @@ add_subdirectory(common)
 add_subdirectory(storage)
 add_subdirectory(server)
 add_subdirectory(backends)
-add_subdirectory(scripts)
 if(WIN32)
        add_subdirectory(NT)
 endif()
diff --git a/sql/backends/monet5/CMakeLists.txt 
b/sql/backends/monet5/CMakeLists.txt
--- a/sql/backends/monet5/CMakeLists.txt
+++ b/sql/backends/monet5/CMakeLists.txt
@@ -14,7 +14,7 @@ add_subdirectory(UDF)
 include_directories(${CMAKE_CURRENT_BINARY_DIR} ../../../gdk ../../include 
../../common ../../storage ../../server
                                        ../../../monetdb5/modules/atoms 
../../../monetdb5/modules/kernel ../../../monetdb5/mal
                                        ../../../monetdb5/modules/mal 
../../../monetdb5/optimizer ../../../monetdb5/scheduler
-                                       ../../../monetdb5/extras/rapi 
../../../common/stream ../../../common/utils ../../scripts)
+                                       ../../../monetdb5/extras/rapi 
../../../common/stream ../../../common/utils)
 
 set(SQL_MAL_SCRIPTS_LIST
        "${CMAKE_CURRENT_SOURCE_DIR}/sql_sysmon.mal"
@@ -40,9 +40,49 @@ if(HAVE_HGE)
                "${CMAKE_CURRENT_SOURCE_DIR}/sql_generator_hge.mal")
 endif()
 
-build_embedded_mal_scripts(sql_mal_inline sqlMalModules 
"${SQL_MAL_SCRIPTS_LIST}")
+set(SQL_SCRIPTS_LIST1
+       "${CMAKE_SOURCE_DIR}/sql/scripts/09_like.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/10_math.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/11_times.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/12_url.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/13_date.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/14_inet.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/15_querylog.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/16_tracelog.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/17_temporal.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/18_index.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/20_vacuum.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/21_dependency_views.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/22_clients.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/23_skyserver.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/25_debug.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/26_sysmon.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/27_rejects.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/39_analytics.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/40_json.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/41_md5sum.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/45_uuid.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/46_profiler.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/51_sys_schema_extension.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/60_wlcr.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/70_storagemodel.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/71_statistics.sql"
+       "${CMAKE_SOURCE_DIR}/sql/scripts/90_generator.sql")
+if(HAVE_HGE)
+       list(APPEND SQL_SCRIPTS_LIST1
+               "${CMAKE_SOURCE_DIR}/sql/scripts/39_analytics_hge.sql"
+               "${CMAKE_SOURCE_DIR}/sql/scripts/40_json_hge.sql"
+               "${CMAKE_SOURCE_DIR}/sql/scripts/90_generator_hge.sql")
+endif()
 
-set(SQL_LINK_LIBRARIES sqlserver store batstore sqlcommon sqlscripts)
+# These scripts loads after all custom installed SQL scripts
+set(SQL_SCRIPTS_LIST2 "${CMAKE_SOURCE_DIR}/sql/scripts/99_system.sql")
+
+build_embedded_mal_scripts(sql_mal_inline sqlMalModules 
"${SQL_MAL_SCRIPTS_LIST}")
+build_embedded_sql_scripts(createdb_inline1 "${SQL_SCRIPTS_LIST1}")
+build_embedded_sql_scripts(createdb_inline2 "${SQL_SCRIPTS_LIST2}")
+
+set(SQL_LINK_LIBRARIES sqlserver store batstore sqlcommon)
 if(WIN32)
        list(APPEND SQL_LINK_LIBRARIES mapi monetdb5 gdk stream 
${CRYPTO_LIBRARIES})
 endif()
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -50,7 +50,6 @@
 #include <unistd.h>
 #endif
 #include "sql_upgrades.h"
-#include "sql_scripts.h"
 
 static int SQLinitialized = 0;
 static int SQLnewcatalog = 0;
@@ -369,10 +368,47 @@ SQLresetClient(Client c)
        return msg;
 }
 
+static str
+install_sql_scripts(Client c, char* scripts_array, const char* array_name)
+{
+       str msg = MAL_SUCCEED;
+       size_t createdb_len;
+       buffer* createdb_buf;
+       stream* createdb_stream;
+       bstream* createdb_bstream;
+
+       assert(scripts_array && array_name);
+       createdb_len = strlen(scripts_array);
+       if ((createdb_buf = GDKmalloc(sizeof(buffer))) == NULL)
+               throw(MAL, "sql.install_sql_scripts_array", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
+       buffer_init(createdb_buf, scripts_array, createdb_len);
+       if ((createdb_stream = buffer_rastream(createdb_buf, 
"sql.install_sql_scripts_array")) == NULL) {
+               GDKfree(createdb_buf);
+               throw(MAL, "sql.install_sql_scripts_array", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
+       }
+       if ((createdb_bstream = bstream_create(createdb_stream, createdb_len)) 
== NULL) {
+               mnstr_destroy(createdb_stream);
+               GDKfree(createdb_buf);
+               throw(MAL, "sql.install_sql_scripts_array", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
+       }
+       if (bstream_next(createdb_bstream) >= 0)
+               msg = SQLstatementIntern(c, &createdb_bstream->buf, 
"sql.install_sql_scripts_array", TRUE, FALSE, NULL);
+       else
+               msg = createException(MAL, "sql.install_sql_scripts_array", 
SQLSTATE(HY0002) "Could not load %s script", array_name);
+
+       bstream_destroy(createdb_bstream);
+       GDKfree(createdb_buf);
+       return msg;
+}
+
 MT_Id sqllogthread, idlethread;
 
+#include "createdb_inline1.h"
+#ifndef HAVE_EMBEDDED
 #include "sql_mal_inline.h"
 #include "sql_mal_inline_names.h"
+#include "createdb_inline2.h"
+#endif
 
 static str
 SQLinit(Client c)
@@ -408,10 +444,12 @@ SQLinit(Client c)
        }
        (void) tz;
 
+#ifndef HAVE_EMBEDDED
        if ((msg = malExtraModulesBoot(c, sqlMalModules, sql_mal_inline)) != 
MAL_SUCCEED) {
                MT_lock_unset(&sql_contextLock);
                return msg;
        }
+#endif
 
        if (debug_str)
                SQLdebug = strtol(debug_str, NULL, 10);
@@ -483,7 +521,7 @@ SQLinit(Client c)
 
                MT_fprintf(stdout, "# Loading bundled SQL scripts\n");
 
-               if ((msg = install_sql_scripts1(c)) != MAL_SUCCEED) {
+               if ((msg = install_sql_scripts(c, createdb_inline1, 
"createdb_inline1")) != MAL_SUCCEED) {
                        MT_lock_unset(&sql_contextLock);
                        return msg;
                }
@@ -547,12 +585,12 @@ SQLinit(Client c)
                        } else
                                MT_fprintf(stderr, "!could not read 
createdb.sql\n");
                }
-#endif
 
-               if ((msg = install_sql_scripts2(c)) != MAL_SUCCEED) {
+               if ((msg = install_sql_scripts(c, createdb_inline2, 
"createdb_inline2")) != MAL_SUCCEED) {
                        MT_lock_unset(&sql_contextLock);
                        return msg;
                }
+#endif
                if ((msg = SQLstatementIntern(c, &commit, "sql.init", 1, 0, 
NULL)) != MAL_SUCCEED) {
                        MT_lock_unset(&sql_contextLock);
                        return msg;
diff --git a/sql/scripts/CMakeLists.txt b/sql/scripts/CMakeLists.txt
deleted file mode 100644
--- a/sql/scripts/CMakeLists.txt
+++ /dev/null
@@ -1,58 +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.
-#]]
-
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ../include ../common 
../storage ../../monetdb5/modules/atoms
-                                       ../../monetdb5/modules/kernel 
../../monetdb5/mal ../../monetdb5/modules/atoms
-                                       ../../monetdb5/modules/mal 
../../common/options ../../common/stream ../../common/utils
-                                       ../backends/monet5 ../server ../../gdk)
-
-set(SQL_SCRIPTS_LIST1
-       "${CMAKE_CURRENT_SOURCE_DIR}/09_like.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/10_math.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/11_times.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/12_url.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/13_date.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/14_inet.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/15_querylog.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/16_tracelog.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/17_temporal.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/18_index.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/20_vacuum.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/21_dependency_views.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/22_clients.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/23_skyserver.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/25_debug.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/26_sysmon.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/27_rejects.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/39_analytics.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/40_json.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/41_md5sum.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/45_uuid.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/46_profiler.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/51_sys_schema_extension.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/60_wlcr.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/70_storagemodel.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/71_statistics.sql"
-       "${CMAKE_CURRENT_SOURCE_DIR}/90_generator.sql")
-if(HAVE_HGE)
-       list(APPEND SQL_SCRIPTS_LIST1
-               "${CMAKE_CURRENT_SOURCE_DIR}/39_analytics_hge.sql"
-               "${CMAKE_CURRENT_SOURCE_DIR}/40_json_hge.sql"
-               "${CMAKE_CURRENT_SOURCE_DIR}/90_generator_hge.sql")
-endif()
-
-# These scripts loads after all custom installed SQL scripts
-set(SQL_SCRIPTS_LIST2 "${CMAKE_CURRENT_SOURCE_DIR}/99_system.sql")
-
-build_embedded_sql_scripts(createdb_inline1 "${SQL_SCRIPTS_LIST1}")
-build_embedded_sql_scripts(createdb_inline2 "${SQL_SCRIPTS_LIST2}")
-
-# The sql script header files should be in CMAKE_CURRENT_BINARY_DIR
-add_library(sqlscripts STATIC sql_scripts.c sql_scripts.h)
-set_target_properties(sqlscripts PROPERTIES POSITION_INDEPENDENT_CODE ON)
-target_compile_definitions(sqlscripts PRIVATE LIBSQL LIBSQLSERVER LIBSQLCOMMON 
LIBBATSTORE LIBSTORE)
diff --git a/sql/scripts/Makefile.ag b/sql/scripts/Makefile.ag
deleted file mode 100644
--- a/sql/scripts/Makefile.ag
+++ /dev/null
@@ -1,54 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to