Changeset: e0cebaa72171 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e0cebaa72171
Modified Files:
        sql/backends/monet5/sql_scenario.c
        sql/common/sql_types.c
        tools/monetdbe/monetdbe.c
        tools/monetdbe/monetdbe.h
Branch: default
Log Message:

more protection for not having (enabled) hge type


diffs (58 lines):

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
@@ -436,6 +436,12 @@ SQLinit(Client c)
                maybeupgrade = 0;
 
                for (int i = 0; i < sql_modules && !msg; i++) {
+#ifdef HAVE_HGE
+                       if (!have_hge) {
+                               if (strstr(sql_module_name[i], "_hge"))
+                                       continue;
+                       }
+#endif
                        char *createdb_inline = (char*)sql_module_code[i];
 
                        msg = SQLstatementIntern(c, &createdb_inline, 
"sql.init", TRUE, FALSE, NULL);
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -1275,7 +1275,8 @@ sqltypeinit( sql_allocator *sa)
        sql_create_aggr(sa, "grouping", "", "", TRUE, INT, 1, ANY);
        sql_create_aggr(sa, "grouping", "", "", TRUE, LNG, 1, ANY);
 #ifdef HAVE_HGE
-       sql_create_aggr(sa, "grouping", "", "", TRUE, HGE, 1, ANY);
+       if (have_hge)
+               sql_create_aggr(sa, "grouping", "", "", TRUE, HGE, 1, ANY);
 #endif
 
        sql_create_aggr(sa, "not_unique", "sql", "not_unique", TRUE, BIT, 1, 
OID);
diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c
--- a/tools/monetdbe/monetdbe.c
+++ b/tools/monetdbe/monetdbe.c
@@ -487,6 +487,12 @@ monetdbe_startup(char* dbdir, monetdbe_o
                msg = createException(MAL, "monetdbe.monetdbe_startup", 
"GDKinit() failed");
                goto cleanup;
        }
+#ifdef HAVE_HGE
+       if (opts && opts->have_hge)
+               have_hge = 1;
+       else
+               have_hge = 0;
+#endif
        if ((msg = malEmbeddedBoot()) != MAL_SUCCEED)
                goto cleanup;
 
diff --git a/tools/monetdbe/monetdbe.h b/tools/monetdbe/monetdbe.h
--- a/tools/monetdbe/monetdbe.h
+++ b/tools/monetdbe/monetdbe.h
@@ -89,6 +89,9 @@ typedef void* monetdbe_database;
 typedef struct {
        monetdbe_cnt memorylimit;
        int nr_threads;
+#ifdef HAVE_HGE
+       bool have_hge;
+#endif
 } monetdbe_options;
 
 #define DEFAULT_STRUCT_DEFINITION(ctype, typename)         \
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to