Changeset: 7d6f6753c8f3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7d6f6753c8f3
Modified Files:
        clients/mapiclient/mclient.c
        clients/mapiclient/msqldump.c
        clients/mapilib/connect.c
        clients/mapilib/mapi.c
        clients/mapilib/mapi.h
        clients/mapilib/mapi_intern.h
        tools/merovingian/daemon/snapshot.c
Branch: clientinfo
Log Message:

Add mapi_set_application_name and call it in mclient etc.


diffs (99 lines):

diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -3682,6 +3682,7 @@ main(int argc, char **argv)
        } else {
                mid = mapi_mapi(host, port, user, passwd, language, dbname);
        }
+       mapi_set_application_name("mclient");
        free(user_allocated);
        user_allocated = NULL;
        free(passwd_allocated);
diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c
--- a/clients/mapiclient/msqldump.c
+++ b/clients/mapiclient/msqldump.c
@@ -237,6 +237,7 @@ main(int argc, char **argv)
        } else {
                mid = mapi_mapi(host, port, user, passwd, "sql", dbname);
        }
+       mapi_set_application_name("msqldump");
        free(user_allocated);
        user_allocated = NULL;
        free(passwd_allocated);
diff --git a/clients/mapilib/connect.c b/clients/mapilib/connect.c
--- a/clients/mapilib/connect.c
+++ b/clients/mapilib/connect.c
@@ -398,6 +398,8 @@ send_all_clientinfo(Mapi mid)
                hostname[sizeof(hostname) - 1] = '\0';
        }
        const char *application_name = msetting_string(mp, 
MP_CLIENT_APPLICATION);
+       if (!application_name[0])
+               application_name = mapi_application_name;
        const char *client_library = "libmapi " MONETDB_VERSION;
        const char *client_remark = msetting_string(mp, MP_CLIENT_REMARK);
        long pid = getpid();
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -793,6 +793,9 @@ static int mapi_slice_row(struct MapiRes
 static void mapi_store_bind(struct MapiResultSet *result, int cr);
 
 static ATOMIC_FLAG mapi_initialized = ATOMIC_FLAG_INIT;
+
+char mapi_application_name[256] = { 0 };
+
 /*
  * Blocking
  * --------
@@ -2118,6 +2121,15 @@ mapi_disconnect(Mapi mid)
        return MOK;
 }
 
+void
+mapi_set_application_name(const char *name)
+{
+       if (name)
+               strncpy(mapi_application_name, name, 
sizeof(mapi_application_name));
+       else
+               mapi_application_name[0] = '\0';
+}
+
 /* Set callback function to retrieve or send file content for COPY
  * INTO queries.
  *
diff --git a/clients/mapilib/mapi.h b/clients/mapilib/mapi.h
--- a/clients/mapilib/mapi.h
+++ b/clients/mapilib/mapi.h
@@ -76,6 +76,9 @@ extern "C" {
 # endif
 #endif
 
+/* global state */
+mapi_export void mapi_set_application_name(const char *name);
+
 /* connection-oriented functions */
 mapi_export Mapi mapi_mapi(const char *host, int port, const char *username, 
const char *password, const char *lang, const char *dbname);
 mapi_export Mapi mapi_mapiuri(const char *url, const char *user, const char 
*pass, const char *lang);
diff --git a/clients/mapilib/mapi_intern.h b/clients/mapilib/mapi_intern.h
--- a/clients/mapilib/mapi_intern.h
+++ b/clients/mapilib/mapi_intern.h
@@ -310,6 +310,8 @@ MapiMsg mapi_Xcommand(Mapi mid, const ch
 
 extern const struct MapiStruct MapiStructDefaults;
 
+extern char mapi_application_name[];
+
 // 'settings' will be newly allocated if NULL
 Mapi mapi_new(msettings *settings);
 
diff --git a/tools/merovingian/daemon/snapshot.c 
b/tools/merovingian/daemon/snapshot.c
--- a/tools/merovingian/daemon/snapshot.c
+++ b/tools/merovingian/daemon/snapshot.c
@@ -114,6 +114,7 @@ snapshot_database_stream(char *dbname, s
                e = newErr("connection error: %s", mapi_error_str(conn));
                goto bailout;
        }
+       mapi_set_application_name("monetdbd");
        mapi_reconnect(conn);
        if (mapi_error(conn) != MOK) {
                e = newErr("connection error: %s", mapi_error_str(conn));
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to