Changeset: 88bab5d405e0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=88bab5d405e0
Modified Files:
clients/mapiclient/dump.c
clients/mapiclient/msqldump.c
gdk/gdk_utils.c
Branch: default
Log Message:
In database dump, record both client and server version/revision.
diffs (115 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -2798,7 +2798,7 @@ void
dump_version(Mapi mid, stream *toConsole, const char *prefix)
{
MapiHdl hdl;
- char *dbname = NULL, *uri = NULL, *dbver = NULL, *dbrel = NULL;
+ char *dbname = NULL, *uri = NULL, *dbver = NULL, *dbrel = NULL, *dbrev
= NULL;
const char *name, *val;
if ((hdl = mapi_query(mid,
@@ -2807,7 +2807,8 @@ dump_version(Mapi mid, stream *toConsole
"WHERE name IN ('gdk_dbname', "
"'monet_version', "
"'monet_release', "
- "'merovingian_uri')")) == NULL ||
+ "'merovingian_uri', "
+ "'revision')")) == NULL ||
mapi_error(mid))
goto cleanup;
@@ -2831,6 +2832,9 @@ dump_version(Mapi mid, stream *toConsole
} else if (strcmp(name, "merovingian_uri") == 0) {
assert(uri == NULL);
uri = strdup(val);
+ } else if (strcmp(name, "revision") == 0) {
+ assert(dbrev == NULL);
+ dbrev = strdup(val);
}
}
}
@@ -2840,15 +2844,16 @@ dump_version(Mapi mid, stream *toConsole
dbname = uri;
uri = NULL;
}
- if (dbname != NULL && dbver != NULL) {
- mnstr_printf(toConsole, "%s MonetDB v%s%s%s%s, '%s'\n",
- prefix,
- dbver,
- dbrel != NULL ? " (" : "",
- dbrel != NULL ? dbrel : "",
- dbrel != NULL ? ")" : "",
- dbname);
- }
+ mnstr_printf(toConsole, "%s MonetDB", prefix);
+ if (dbver)
+ mnstr_printf(toConsole, " v%s", dbver);
+ if (dbrel && strcmp(dbrel, "unreleased") != 0)
+ mnstr_printf(toConsole, " (%s)", dbrel);
+ else if (dbrev && strcmp(dbrev, "Unknown") != 0)
+ mnstr_printf(toConsole, " (hg id: %s)", dbrev);
+ if (dbname)
+ mnstr_printf(toConsole, ", '%s'", dbname);
+ mnstr_printf(toConsole, "\n");
cleanup:
if (dbname != NULL)
@@ -2859,6 +2864,8 @@ dump_version(Mapi mid, stream *toConsole
free(dbrel);
if (uri != NULL)
free(uri);
+ if (dbrev != NULL)
+ free(dbrev);
if (hdl)
mapi_close_handle(hdl);
}
diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c
--- a/clients/mapiclient/msqldump.c
+++ b/clients/mapiclient/msqldump.c
@@ -197,6 +197,7 @@ main(int argc, char **argv)
char buf[27];
time_t t = time(0);
char *p;
+ const char *rev = mercurial_revision();
#ifdef HAVE_CTIME_R3
ctime_r(&t, buf, sizeof(buf));
@@ -209,11 +210,21 @@ main(int argc, char **argv)
#endif
if ((p = strrchr(buf, '\n')) != NULL)
*p = 0;
- mnstr_printf(out, "-- msqldump %s %s%s %s\n",
+
+ mnstr_printf(out,
+ "-- msqldump version %s", VERSION);
+ /* coverity[pointless_string_compare] */
+ if (strcmp(MONETDB_RELEASE, "unreleased") != 0)
+ mnstr_printf(out, " (%s)",
+ MONETDB_RELEASE);
+ else if (strcmp(rev, "Unknown") != 0)
+ mnstr_printf(out, " (hg id: %s)", rev);
+ mnstr_printf(out, " %s %s%s\n",
describe ? "describe" : "dump",
functions ? "functions" : table ? "table " :
"database",
- table ? table : "", buf);
- dump_version(mid, out, "--");
+ table ? table : "");
+ dump_version(mid, out, "-- server:");
+ mnstr_printf(out, "-- %s\n", buf);
}
if (functions)
c = dump_functions(mid, out, true, NULL, NULL, NULL);
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -641,6 +641,8 @@ GDKinit(opt *set, int setlen)
if (GDKsetenv("monet_pid", buf) != GDK_SUCCEED)
GDKfatal("GDKinit: GDKsetenv failed");
}
+ if (GDKsetenv("revision", mercurial_revision()) != GDK_SUCCEED)
+ GDKfatal("GDKinit: GDKsetenv failed");
return 1;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list