From 45be9a1cb1971786c72f82f8d236edbdfd662b84 Mon Sep 17 00:00:00 2001 From: default Date: Fri, 25 Nov 2022 10:53:16 +0100 Subject: New command-line command 'upgrade'. --- data.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'data.c') diff --git a/data.c b/data.c index 3403b06..cbdfea4 100644 --- a/data.c +++ b/data.c @@ -19,7 +19,7 @@ double db_layout = 2.3; int db_upgrade(d_char **error); -int srv_open(char *basedir) +int srv_open(char *basedir, int auto_upgrade) /* opens a server */ { int ret = 0; @@ -69,7 +69,14 @@ int srv_open(char *basedir) error = xs_fmt("DEBUG level set to %d from environment", dbglevel); } - ret = db_upgrade(&error); + if (auto_upgrade) + ret = db_upgrade(&error); + else { + if (xs_number_get(xs_dict_get(srv_config, "layout")) < db_layout) { + ret = 0; + error = xs_fmt("ERROR: db layout changed - execute 'snac upgrade' first"); + } + } } } -- cgit v1.2.3