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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list