X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fmain.c;h=8a23e03d5c163e0ff18a13cc7dc4a9a30c6fffeb;hb=fc9684841bbfad0b625e7365b99bae7b7df737df;hp=d9574c71256530bcae0fa915dc44c403aa4e9ada;hpb=41d642cfebfa415417f3825fd805012d7a47fe96;p=idzebra-moved-to-github.git diff --git a/index/main.c b/index/main.c index d9574c7..8a23e03 100644 --- a/index/main.c +++ b/index/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.98 2002-10-04 18:15:09 adam Exp $ +/* $Id: main.c,v 1.102 2003-03-04 23:30:20 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -35,7 +35,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #endif -#include +#include #include "zebraapi.h" char *prog; @@ -48,7 +48,8 @@ int main (int argc, char **argv) char *configName = 0; int nsections = 0; int disableCommit = 0; - size_t mem_max = 0; + char *mem_max = 0; + int trans_started=0; #if HAVE_SYS_TIMES_H struct tms tms1, tms2; @@ -135,16 +136,27 @@ int main (int argc, char **argv) if (disableCommit) zebra_shadow_enable (zh, 0); } + if (rGroupDef.databaseName) { if (zebra_select_database (zh, rGroupDef.databaseName)) + { + logf(LOG_FATAL, "Could not select database %s errCode=%d", + rGroupDef.databaseName, zebra_errCode(zh) ); exit (1); + } } else { if (zebra_select_database (zh, "Default")) + { + logf(LOG_FATAL, "Could not select database Default errCode=%d", + zebra_errCode(zh) ); exit (1); + } } + if (mem_max) + zebra_set_resource(zh, "memmax",mem_max); if (!strcmp (arg, "update")) cmd = 'u'; @@ -193,7 +205,7 @@ int main (int argc, char **argv) if (!trans_started) { trans_started=1; - zebra_begin_trans (zh); + zebra_begin_trans (zh, 1); } switch (cmd) @@ -236,7 +248,7 @@ int main (int argc, char **argv) else if (ret == 'l') yaz_log_init_file (arg); else if (ret == 'm') - mem_max = 1024*1024*atoi(arg); + mem_max = arg; else if (ret == 'd') rGroupDef.databaseName = arg; else if (ret == 's') @@ -275,6 +287,7 @@ int main (int argc, char **argv) (double) (tms2.tms_stime - tms1.tms_stime)/100); } #endif + nmem_exit(); exit (0); return 0; }