X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fmain.c;h=c32c41993e9895cf3aaa8160375a4360fbb41e90;hb=47ea1fc957c7b97bb30a26698f072109cae275e4;hp=3508f2ad1233495c0d02eee2808e5cdc95fe6ab4;hpb=7e75317bed8eecabcb57e59b16093a32238738e2;p=idzebra-moved-to-github.git diff --git a/index/main.c b/index/main.c index 3508f2a..c32c419 100644 --- a/index/main.c +++ b/index/main.c @@ -2,7 +2,7 @@ * Copyright (C) 1994-2002, Index Data * All rights reserved. * - * $Id: main.c,v 1.82 2002-02-20 17:30:01 adam Exp $ + * $Id: main.c,v 1.92 2002-07-11 13:03:01 heikki Exp $ */ #include #include @@ -11,13 +11,15 @@ #include #else #include +#include +#endif +#include +#if HAVE_SYS_TIMES_H +#include #endif #include #include "zebraapi.h" -#include "zserver.h" -#include "index.h" -#include "recindex.h" char *prog; @@ -30,6 +32,11 @@ int main (int argc, char **argv) int nsections = 0; int disableCommit = 0; size_t mem_max = 0; +#if HAVE_SYS_TIMES_H + struct tms tms1, tms2; + struct timeval start_time, end_time; + long usec; +#endif #ifndef WIN32 char nbuf[100]; #endif @@ -44,6 +51,10 @@ int main (int argc, char **argv) sprintf(nbuf, "%.40s(%d)", *argv, getpid()); yaz_log_init_prefix (nbuf); #endif +#if HAVE_SYS_TIMES_H + times(&tms1); + gettimeofday(&start_time, 0); +#endif rGroupDef.groupName = NULL; rGroupDef.databaseName = NULL; @@ -92,16 +103,30 @@ int main (int argc, char **argv) if (!zs) { #if ZMBOL - logf (LOG_LOG, "zmbol version %s %s", + logf (LOG_LOG, "Z'mbol version %s %s", ZEBRAVER, ZEBRADATE); #else - logf (LOG_LOG, "zebra version %s %s", + logf (LOG_LOG, "Zebra version %s %s", ZEBRAVER, ZEBRADATE); #endif - zs = zebra_start (configName ? configName : FNAME_CONFIG); - + zs = zebra_start (configName ? configName : "zebra.cfg"); + if (!zs) + exit (1); zh = zebra_open (zs); + if (disableCommit) + zebra_shadow_enable (zh, 0); + } + if (rGroupDef.databaseName) + { + if (zebra_select_database (zh, rGroupDef.databaseName)) + exit (1); + } + else + { + if (zebra_select_database (zh, "Default")) + exit (1); } + if (!strcmp (arg, "update")) cmd = 'u'; else if (!strcmp (arg, "update1")) @@ -126,7 +151,11 @@ int main (int argc, char **argv) } else if (!strcmp (arg, "stat") || !strcmp (arg, "status")) { - assert (!"todo"); + zebra_register_statistics (zh,0); + } + else if (!strcmp (arg, "dump") || !strcmp (arg, "dumpdict")) + { + zebra_register_statistics (zh,1); } else if (!strcmp (arg, "compact")) { @@ -140,10 +169,10 @@ int main (int argc, char **argv) } else { - memcpy (&zh->rGroup, &rGroupDef, sizeof(rGroupDef)); + rGroupDef.path = arg; + zebra_set_group (zh, &rGroupDef); zebra_begin_trans (zh); - zh->rGroup.path = arg; switch (cmd) { case 'u': @@ -153,7 +182,7 @@ int main (int argc, char **argv) zebra_repository_delete (zh); break; case 's': - logf (LOG_LOG, "dumping %s", zh->rGroup.path); + logf (LOG_LOG, "dumping %s", rGroupDef.path); zebra_repository_show (zh); nsections = 0; break; @@ -210,6 +239,16 @@ int main (int argc, char **argv) } zebra_close (zh); zebra_stop (zs); +#if HAVE_SYS_TIMES_H + gettimeofday(&end_time, 0); + usec = (end_time.tv_sec - start_time.tv_sec) * 1000000L + + end_time.tv_usec - start_time.tv_usec; + times(&tms2); + yaz_log (LOG_LOG, "zebraidx times: %5.2f %5.2f %5.2f", + (double) usec / 1000000.0, + (double) (tms2.tms_utime - tms1.tms_utime)/100, + (double) (tms2.tms_stime - tms1.tms_stime)/100); +#endif exit (0); return 0; }