Changeset: 258a558da5e8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=258a558da5e8
Modified Files:
        ctest/tools/monetdbe/example1.c
        ctest/tools/monetdbe/example2.c
        ctest/tools/monetdbe/example_append.c
        ctest/tools/monetdbe/example_backup.c
        ctest/tools/monetdbe/example_blob.c
        ctest/tools/monetdbe/example_connections.c
        ctest/tools/monetdbe/example_decimals.c
        ctest/tools/monetdbe/example_temporal.c
        tools/monetdbe/monetdbe.c
        tools/monetdbe/monetdbe.h
Branch: default
Log Message:

small change monetdbe_open, extra argument with monetdbe_options


diffs (214 lines):

diff --git a/ctest/tools/monetdbe/example1.c b/ctest/tools/monetdbe/example1.c
--- a/ctest/tools/monetdbe/example1.c
+++ b/ctest/tools/monetdbe/example1.c
@@ -21,7 +21,7 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe, NULL, NULL)) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (x integer, y 
string)", NULL, NULL)) != NULL)
                error(err)
diff --git a/ctest/tools/monetdbe/example2.c b/ctest/tools/monetdbe/example2.c
--- a/ctest/tools/monetdbe/example2.c
+++ b/ctest/tools/monetdbe/example2.c
@@ -21,7 +21,7 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe, NULL, NULL)) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (b bool, t tinyint, 
s smallint, x integer, l bigint, "
 #ifdef HAVE_HGE
diff --git a/ctest/tools/monetdbe/example_append.c 
b/ctest/tools/monetdbe/example_append.c
--- a/ctest/tools/monetdbe/example_append.c
+++ b/ctest/tools/monetdbe/example_append.c
@@ -21,7 +21,7 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe, NULL, NULL)) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (x integer, y 
string)", NULL, NULL)) != NULL)
                error(err)
diff --git a/ctest/tools/monetdbe/example_backup.c 
b/ctest/tools/monetdbe/example_backup.c
--- a/ctest/tools/monetdbe/example_backup.c
+++ b/ctest/tools/monetdbe/example_backup.c
@@ -11,7 +11,7 @@ main(void)
        char *msg;
        monetdbe_database mdbe;
 
-       if ((msg = monetdbe_open(&mdbe, NULL)) != NULL)
+       if ((msg = monetdbe_open(&mdbe, NULL, NULL)) != NULL)
                error(msg);
 
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (b bool, t tinyint, 
s smallint, x integer, l bigint, "
diff --git a/ctest/tools/monetdbe/example_blob.c 
b/ctest/tools/monetdbe/example_blob.c
--- a/ctest/tools/monetdbe/example_blob.c
+++ b/ctest/tools/monetdbe/example_blob.c
@@ -23,7 +23,7 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe, NULL )) != NULL)
+       if ((err = monetdbe_open(&mdbe, NULL, NULL )) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (name string, data 
blob)", NULL, NULL)) != NULL)
                error(err)
diff --git a/ctest/tools/monetdbe/example_connections.c 
b/ctest/tools/monetdbe/example_connections.c
--- a/ctest/tools/monetdbe/example_connections.c
+++ b/ctest/tools/monetdbe/example_connections.c
@@ -21,9 +21,9 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe1, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe1, NULL, NULL)) != NULL)
                error(err)
-       if ((err = monetdbe_open(&mdbe2, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe2, NULL, NULL)) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe1, "CREATE TABLE test (x integer, y 
string)", NULL, NULL)) != NULL)
                error(err)
diff --git a/ctest/tools/monetdbe/example_decimals.c 
b/ctest/tools/monetdbe/example_decimals.c
--- a/ctest/tools/monetdbe/example_decimals.c
+++ b/ctest/tools/monetdbe/example_decimals.c
@@ -21,7 +21,7 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe, NULL, NULL)) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (b bigint, d1 
decimal(15,3), m decimal(4,2), y string)", NULL, NULL)) != NULL)
                error(err)
diff --git a/ctest/tools/monetdbe/example_temporal.c 
b/ctest/tools/monetdbe/example_temporal.c
--- a/ctest/tools/monetdbe/example_temporal.c
+++ b/ctest/tools/monetdbe/example_temporal.c
@@ -24,7 +24,7 @@ main(void)
        monetdbe_result* result = NULL;
 
        // second argument is a string for the db directory or NULL for 
in-memory mode
-       if ((err = monetdbe_open(&mdbe, NULL)) != NULL)
+       if ((err = monetdbe_open(&mdbe, NULL, NULL)) != NULL)
                error(err)
        if ((err = monetdbe_query(mdbe, "CREATE TABLE test (x integer, d date, 
t time, ts timestamp, y string)", NULL, NULL)) != NULL)
                error(err)
diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c
--- a/tools/monetdbe/monetdbe.c
+++ b/tools/monetdbe/monetdbe.c
@@ -412,7 +412,7 @@ monetdbe_shutdown_internal(void) // Call
 }
 
 static char*
-monetdbe_startup(char* dbdir)
+monetdbe_startup(char* dbdir, monetdbe_options *opts)
 {
        char* msg = MAL_SUCCEED, *err;
        monetdbe_result* res = NULL;
@@ -435,10 +435,6 @@ monetdbe_startup(char* dbdir)
                goto done;
        }
 
-        //hacked
-       // define MT_fprintf_silent 
-       // MT_fprintf_silent(silent);
-
        if ((setlen = mo_builtin_settings(&set)) == 0) {
                msg = createException(MAL, "monetdbe.monetdbe_startup", 
MAL_MALLOC_FAIL);
                goto cleanup;
@@ -448,17 +444,22 @@ monetdbe_startup(char* dbdir)
                msg = createException(MAL, "monetdbe.monetdbe_startup", 
MAL_MALLOC_FAIL);
                goto cleanup;
        }
-       /* get sequential and other flags from url
-       if (sequential)
+       if (opts && opts->nr_threads == 1)
                setlen = mo_add_option(&set, setlen, opt_cmdline, 
"sql_optimizer", "sequential_pipe");
        else
-       */
                setlen = mo_add_option(&set, setlen, opt_cmdline, 
"sql_optimizer", "default_pipe");
        if (setlen == 0) {
                mo_free_options(set, setlen);
                msg = createException(MAL, "monetdbe.monetdbe_startup", 
MAL_MALLOC_FAIL);
                goto cleanup;
        }
+       if (opts && opts->nr_threads) {
+               GDKnr_threads = opts->nr_threads;
+       }
+       if (opts && opts->memorylimit) {
+               GDK_vm_maxsize = opts->memorylimit;
+       }
+
        if (!dbdir) { /* in-memory */
                if (BBPaddfarm(NULL, (1 << PERSISTENT) | (1 << TRANSIENT)) != 
GDK_SUCCEED) {
                        mo_free_options(set, setlen);
@@ -521,7 +522,7 @@ done:
 }
 
 char*
-monetdbe_open(monetdbe_database *dbhdl, char *url)
+monetdbe_open(monetdbe_database *dbhdl, char *url, monetdbe_options *opts)
 {
        char* msg = MAL_SUCCEED;
        if (!dbhdl)
@@ -529,7 +530,7 @@ monetdbe_open(monetdbe_database *dbhdl, 
        MT_lock_set(&embedded_lock);
        if (!monetdbe_embedded_initialized) {
                /* later handle url !*/
-               msg = monetdbe_startup(url);
+               msg = monetdbe_startup(url, opts);
        } else { /* check uri */
                if ((monetdbe_embedded_url && url && 
strcmp(monetdbe_embedded_url, url) != 0) || (monetdbe_embedded_url != url && 
(monetdbe_embedded_url == NULL || url == NULL)))
                        msg = createException(MAL, "monetdbe.monetdbe_open", 
"monetdbe_open currently only one active database is supported");
@@ -616,14 +617,6 @@ monetdbe_dump_table(monetdbe_database db
 }
 
 char*
-monetdbe_memorylimit(monetdbe_database dbhdl, monetdbe_cnt bytes)
-{
-       (void)dbhdl;
-       (void)bytes;
-       return MAL_SUCCEED;
-}
-
-char*
 monetdbe_get_autocommit(monetdbe_database dbhdl, int* result)
 {
        char *msg = MAL_SUCCEED;
diff --git a/tools/monetdbe/monetdbe.h b/tools/monetdbe/monetdbe.h
--- a/tools/monetdbe/monetdbe.h
+++ b/tools/monetdbe/monetdbe.h
@@ -86,6 +86,11 @@ typedef struct {
 
 typedef void* monetdbe_database;
 
+typedef struct {
+       monetdbe_cnt memorylimit;
+       int nr_threads;
+} monetdbe_options;
+
 #define DEFAULT_STRUCT_DEFINITION(ctype, typename)         \
        typedef struct                                     \
        {                                                  \
@@ -119,7 +124,7 @@ DEFAULT_STRUCT_DEFINITION(monetdbe_data_
 DEFAULT_STRUCT_DEFINITION(monetdbe_data_timestamp, timestamp);
 // UUID, INET, XML ?
 
-monetdbe_export char* monetdbe_open(monetdbe_database *db, char *url); 
+monetdbe_export char* monetdbe_open(monetdbe_database *db, char *url, 
monetdbe_options *opts); 
 monetdbe_export char* monetdbe_close(monetdbe_database db); 
 
 monetdbe_export char* monetdbe_get_autocommit(monetdbe_database dbhdl, int* 
result);
@@ -143,8 +148,6 @@ monetdbe_export char* monetdbe_get_colum
 monetdbe_export char* monetdbe_dump_database(monetdbe_database dbhdl, const 
char *backupfile);
 monetdbe_export char* monetdbe_dump_table(monetdbe_database dbhdl, const char 
*schema_name, const char *table_name, const char *backupfile);
 
-monetdbe_export char* monetdbe_memorylimit(monetdbe_database dbhdl, 
monetdbe_cnt bytes);
-
 #ifdef __cplusplus
 }
 #endif
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to