Changeset: bdc2cf595881 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/bdc2cf595881 Branch: default Log Message:
Merge with embedded_mapi. diffs (118 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1447,6 +1447,7 @@ char *monetdbe_error(monetdbe_database d char *monetdbe_execute(monetdbe_statement *stmt, monetdbe_result **result, monetdbe_cnt *affected_rows); char *monetdbe_get_autocommit(monetdbe_database dbhdl, int *result); char *monetdbe_get_columns(monetdbe_database dbhdl, const char *schema_name, const char *table_name, size_t *column_count, monetdbe_column **columns); +const char *monetdbe_get_mapi_port(void); int monetdbe_in_transaction(monetdbe_database dbhdl); const void *monetdbe_null(monetdbe_database dbhdl, monetdbe_types t); int monetdbe_open(monetdbe_database *db, char *url, monetdbe_options *opts); diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c --- a/monetdb5/mal/mal_session.c +++ b/monetdb5/mal/mal_session.c @@ -273,21 +273,24 @@ MSscheduleClient(str command, str challe return; } else { str err; - oid uid; + oid uid = 0; sabdb *stats = NULL; - /* access control: verify the credentials supplied by the user, - * no need to check for database stuff, because that is done per - * database itself (one gets a redirect) */ - err = AUTHcheckCredentials(&uid, NULL, user, passwd, challenge, algo); - if (err != MAL_SUCCEED) { - mnstr_printf(fout, "!%s\n", err); - exit_streams(fin, fout); - freeException(err); - GDKfree(command); - return; + if (!GDKembedded()) { + /* access control: verify the credentials supplied by the user, + * no need to check for database stuff, because that is done per + * database itself (one gets a redirect) */ + err = AUTHcheckCredentials(&uid, NULL, user, passwd, challenge, algo); + if (err != MAL_SUCCEED) { + mnstr_printf(fout, "!%s\n", err); + exit_streams(fin, fout); + freeException(err); + GDKfree(command); + return; + } } + if (!GDKinmemory(0) && !GDKembedded()) { err = msab_getMyStatus(&stats); if (err != NULL) { diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c --- a/tools/monetdbe/monetdbe.c +++ b/tools/monetdbe/monetdbe.c @@ -617,7 +617,7 @@ monetdbe_startup(monetdbe_database_inter goto cleanup; } - with_mapi_server = false; + with_mapi_server = false; if (monetdbe_embedded_initialized) { set_error(mdbe, createException(MAL, "monetdbe.monetdbe_startup", "MonetDBe is already initialized")); @@ -646,8 +646,18 @@ monetdbe_startup(monetdbe_database_inter if (opts && opts->mapi_server) { /*This monetdbe instance wants to listen to external mapi client connections.*/ - with_mapi_server = true; + if (opts->mapi_server->host) { + with_mapi_server = true; + int psetlen = setlen; + setlen = mo_add_option(&set, setlen, opt_cmdline, "mapi_listenaddr", opts->mapi_server->host); + if (setlen == psetlen) { + mo_free_options(set, setlen); + set_error(mdbe, createException(MAL, "monetdbe.monetdbe_startup", MAL_MALLOC_FAIL)); + goto cleanup; + } + } if (opts->mapi_server->port) { + with_mapi_server = true; int psetlen = setlen; setlen = mo_add_option(&set, setlen, opt_cmdline, "mapi_port", opts->mapi_server->port); if (setlen == psetlen) { @@ -657,6 +667,7 @@ monetdbe_startup(monetdbe_database_inter } } if (opts->mapi_server->usock) { + with_mapi_server = true; int psetlen = setlen; setlen = mo_add_option(&set, setlen, opt_cmdline, "mapi_usock", opts->mapi_server->usock); if (setlen == psetlen) { @@ -2831,3 +2842,8 @@ timestamp_from_data(monetdbe_data_timest date_create(ptr->date.year, ptr->date.month, ptr->date.day), daytime_create(ptr->time.hours, ptr->time.minutes, ptr->time.seconds, ptr->time.ms * 1000)); } + +const char* +monetdbe_get_mapi_port(void) { + return GDKgetenv("mapi_port"); +} diff --git a/tools/monetdbe/monetdbe.h b/tools/monetdbe/monetdbe.h --- a/tools/monetdbe/monetdbe.h +++ b/tools/monetdbe/monetdbe.h @@ -103,6 +103,7 @@ typedef struct { } monetdbe_remote; typedef struct { + const char *host; const char* port; const char* usock; } monetdbe_mapi_server; @@ -179,6 +180,7 @@ 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 const char* monetdbe_get_mapi_port(void); #ifdef __cplusplus } _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org