-/* $Id: zebraapi.c,v 1.128 2004-09-03 14:59:49 heikki Exp $
+/* $Id: zebraapi.c,v 1.130 2004-09-09 10:41:42 adam Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
strcat(path, "zebrasrv.pid");
}
+Dict dict_open_res (BFiles bfs, const char *name, int cache, int rw,
+ int compact_flag, Res res)
+{
+ int page_size = 4096;
+ char resource_str[200];
+ const char *v;
+ sprintf (resource_str, "dict.%.100s.pagesize", name);
+
+ v = res_get(res, resource_str);
+ if (v)
+ {
+ page_size = atoi(v);
+ yaz_log(LOG_LOG, "Using custom dictionary page size %d for %s",
+ page_size, name);
+ }
+ return dict_open(bfs, name, cache, rw, compact_flag, page_size);
+}
+
+
static
struct zebra_register *zebra_register_open (ZebraService zs, const char *name,
int rw, int useshadow, Res res,
}
if (rw)
{
- reg->matchDict = dict_open (reg->bfs, GMATCH_DICT, 20, 1, 0);
+ reg->matchDict = dict_open_res (reg->bfs, GMATCH_DICT, 20, 1, 0, res);
}
- if (!(reg->dict = dict_open (reg->bfs, FNAME_DICT, 40, rw, 0)))
+ if (!(reg->dict = dict_open_res (reg->bfs, FNAME_DICT, 40, rw, 0, res)))
{
logf (LOG_WARN, "dict_open");
return 0;
bfs = bfs_create (res_get (zh->service->global_res, "register"),
zh->path_reg);
+ if (!bfs)
+ return -1;
if (rval && *rval)
bf_cache (bfs, rval);