-/* $Id: main.c,v 1.122 2005-01-16 23:14:57 adam Exp $
+/* $Id: main.c,v 1.126 2005-08-26 10:11:49 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
#include <assert.h>
#ifdef WIN32
#include <io.h>
-#else
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#if HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include <time.h>
char *configName = 0;
int nsections = 0;
int enable_commit = 1;
- char *database = "Default";
+ char *database = 0;
Res res = res_open(0, 0, 0);
int trans_started=0;
#if HAVE_SYS_TIMES_H
struct tms tms1, tms2;
- struct timeval start_time, end_time;
double usec;
#endif
+#if HAVE_SYS_TIME_H
+ struct timeval start_time, end_time;
+#endif
#ifndef WIN32
char nbuf[100];
#endif
#endif
#if HAVE_SYS_TIMES_H
times(&tms1);
+#endif
+#if HAVE_SYS_TIME_H
gettimeofday(&start_time, 0);
#endif
prog = *argv;
);
exit (1);
}
- 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", argv, argc, &arg)) != -2)
{
if (ret == 0)
{
if (!zs)
{
const char *config = configName ? configName : "zebra.cfg";
- yaz_log (YLOG_LOG, "Zebra version %s %s",
- ZEBRAVER, ZEBRADATE);
zs = zebra_start_res (config, 0, res);
if (!zs)
{
zebra_shadow_enable (zh, enable_commit);
}
- if (zebra_select_database (zh, database))
+ if (database &&
+ zebra_select_database (zh, database) == ZEBRA_FAIL)
{
- yaz_log(YLOG_FATAL, "Could not select database %s errCode=%d",
- database, zebra_errCode(zh) );
+ yaz_log(YLOG_FATAL, "Could not select database %s "
+ "errCode=%d",
+ database, zebra_errCode(zh) );
exit (1);
}
if (!strcmp (arg, "update"))
}
else
{
+ ZEBRA_RES res = ZEBRA_OK;
if (!trans_started)
{
trans_started=1;
- if (zebra_begin_trans (zh, 1))
+ if (zebra_begin_trans (zh, 1) != ZEBRA_OK)
exit(1);
}
switch (cmd)
{
case 'u':
- zebra_repository_update (zh, arg);
+ res = zebra_repository_update (zh, arg);
break;
case 'd':
- zebra_repository_delete (zh, arg);
+ res = zebra_repository_delete (zh, arg);
break;
case 's':
- zebra_repository_show (zh, arg);
+ res = zebra_repository_show (zh, arg);
nsections = 0;
break;
case 'C':
- zebra_create_database(zh, arg);
+ res = zebra_create_database(zh, arg);
break;
case 'D':
- zebra_drop_database(zh, arg);
+ res = zebra_drop_database(zh, arg);
break;
default:
nsections = 0;
}
+ if (res != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "Operation failed");
+ exit(1);
+ }
log_event_end (NULL, NULL);
}
}
else if (ret == 'V')
{
printf("Zebra %s %s\n", ZEBRAVER, ZEBRADATE);
- printf(" (C) 1994-2004, Index Data ApS\n");
+ printf(" (C) 1994-2005, Index Data ApS\n");
#ifdef WIN32
#ifdef _DEBUG
printf(" WIN32 Debug\n");
zebra_close (zh);
zebra_stop (zs);
#if HAVE_SYS_TIMES_H
+#if HAVE_SYS_TIME_H
if (trans_started)
{
gettimeofday(&end_time, 0);
(double) (tms2.tms_stime - tms1.tms_stime)/100);
}
#endif
+#endif
nmem_exit();
exit (0);
return 0;