/* This file is part of the Zebra server.
- Copyright (C) 1994-2009 Index Data
+ Copyright (C) 2004-2013 Index Data
Zebra is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
*/
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *database = 0;
Res res = res_open(0, 0);
Res default_res = res_open(0, 0);
-
+
int trans_started = 0;
#ifndef WIN32
char nbuf[100];
" drop <db> Drop database <db>\n"
" commit Commit changes\n"
" clean Clean shadow files\n"
+ " check:mode Check register; mode is one of: default, full, quick\n"
"Options:\n"
" -t <type> Index files as <type> (grs or text).\n"
" -c <config> Read configuration file <config>.\n"
{
yaz_log(YLOG_FATAL, "Cannot read config %s", config);
exit(1);
- }
+ }
zh = zebra_open(zs, 0);
zebra_shadow_enable(zh, enable_commit);
}
{
show_filters(zs);
}
+ else if (!strncmp(arg, "check", 5))
+ {
+ const char *spec = 0;
+ if (arg[5] == ':')
+ spec = arg + 6;
+ else if (arg[5] != '\0')
+ {
+ yaz_log(YLOG_FATAL, "missing colon after check");
+ exit(1);
+ }
+ if (zebra_register_check(zh, spec) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_register_check failed");
+ }
+ }
else
{
yaz_log(YLOG_FATAL, "unknown command: %s", arg);
const char *add = zebra_errAdd(zh);
yaz_log(YLOG_FATAL, "Operation failed: %s %s",
zebra_errString(zh), add ? add : "");
-
+
if (trans_started)
if (zebra_end_trans(zh) != ZEBRA_OK)
yaz_log(YLOG_WARN, "zebra_end_trans failed");
zebra_get_version(version_str, sys_str);
printf("Zebra %s\n", version_str);
- printf("(C) 1994-2009, Index Data ApS\n");
+ printf("(C) 1994-2013, Index Data ApS\n");
printf("Zebra is free software, covered by the GNU General Public License, and you are\n");
printf("welcome to change it and/or distribute copies of it under certain conditions.\n");
printf("SHA1 ID: %s\n", sys_str);