-/* $Id: zebraidx.c,v 1.9 2007-10-29 09:25:41 adam Exp $
- Copyright (C) 1995-2007
- Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+ Copyright (C) 1994-2009 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
#include <unistd.h>
#endif
-#if HAVE_ICU
-#include <yaz/icu_I18N.h>
+#if YAZ_HAVE_ICU
+#include <yaz/icu.h>
#endif
#include <yaz/log.h>
#include <yaz/options.h>
sprintf(nbuf, "%.40s(%ld)", *argv, (long) getpid());
yaz_log_init_prefix(nbuf);
#endif
+ /* For indexing driver support */
+ char *useIndexDriver = NULL;
prog = *argv;
if (argc < 2)
{
" -l <file> Write log to <file>.\n"
" -L Don't follow symbolic links.\n"
" -f <n> Display information for the first <n> records.\n"
+ " -i <driver> Select which index driver to use.\n"
+ " Note: when using a driver, the <dir> gets passed\n"
+ " to the driver as an argument.\n"
+ " Current drivers available:\n"
+ " - indexplugin_mysql\n\n"
" -V Show version.\n", *argv
);
exit(1);
}
res_set(default_res, "profilePath", DEFAULT_PROFILE_PATH);
res_set(default_res, "modulePath", DEFAULT_MODULE_PATH);
- while ((ret = options("sVt:c:g:d:m:v:nf:l:L", argv, argc, &arg)) != -2)
+ while ((ret = options("sVt:c:g:d:m:v:nf:l:L:i:", argv, argc, &arg)) != -2)
{
if (ret == 0)
{
cmd = 's';
else if (!strcmp(arg, "del") || !strcmp(arg, "delete"))
cmd = 'd';
+ else if (!strcmp(arg, "adelete"))
+ cmd = 'a';
else if (!strcmp(arg, "init"))
{
zebra_init(zh);
switch (cmd)
{
case 'u':
- res = zebra_repository_update(zh, arg);
+ res = zebra_repository_index(zh, arg, action_update, useIndexDriver);
break;
case 'd':
- res = zebra_repository_delete(zh, arg);
+ res = zebra_repository_index(zh, arg, action_delete, useIndexDriver);
+ break;
+ case 'a':
+ res = zebra_repository_index(zh, arg, action_a_delete, useIndexDriver);
break;
case 's':
res = zebra_repository_show(zh, arg);
zebra_get_version(version_str, sys_str);
printf("Zebra %s\n", version_str);
- printf("(C) 1994-2007, Index Data ApS\n");
+ printf("(C) 1994-2009, 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("Configured as: %s\n", sys_str);
+ printf("SHA1 ID: %s\n", sys_str);
if (strcmp(version_str, ZEBRAVER))
printf("zebraidx compiled version %s\n", ZEBRAVER);
-#if HAVE_ICU
+#if YAZ_HAVE_ICU
printf("Using ICU\n");
#endif
}
else if (ret == 'v')
yaz_log_init_level(yaz_log_mask_str(arg));
+ else if (ret == 'i')
+ useIndexDriver = arg;
else if (ret == 'l')
yaz_log_init_file(arg);
else if (ret == 'm')
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab