X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=f648db9a6e0a39b2e24ac15159acf5f0532490ee;hb=4b903c542156253ebb2a4f004b528fe9e3af5212;hp=93c9ad9ce124ba303bee13aec3d1edef97b14d69;hpb=6988ba91e363565638c27a8d5895ad9afc409e75;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index 93c9ad9..f648db9 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.257 2007-08-21 11:06:47 adam Exp $ +/* $Id: zebraapi.c,v 1.260 2007-10-29 09:25:41 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -192,6 +192,8 @@ ZebraService zebra_start(const char *configName) ZebraService zebra_start_res(const char *configName, Res def_res, Res over_res) { Res res; + char version_str[16]; + char system_str[80]; zebra_flock_init(); @@ -201,7 +203,9 @@ ZebraService zebra_start_res(const char *configName, Res def_res, Res over_res) log_level_initialized = 1; } - yaz_log(YLOG_LOG, "zebra_start %s %s", ZEBRAVER, + zebra_get_version(version_str, system_str); + + yaz_log(YLOG_LOG, "zebra_start %s %s", version_str, configName ? configName : ""); if ((res = res_open(def_res, over_res))) @@ -377,6 +381,7 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, data1_set_tabroot (reg->dh, reg_path); reg->recTypes = recTypes_init (zs->record_classes, reg->dh); + reg->index_types = 0; reg->zebra_maps = zebra_maps_open(res, reg_path, profilePath); if (!reg->zebra_maps) @@ -415,7 +420,30 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, if (!strcmp (recordCompression, "bzip2")) record_compression = REC_COMPRESS_BZIP2; - if (1) + { + const char *index_types_fname = res_get(res, "indextypes"); + if (index_types_fname) + { + char tmp_full_name[1024]; + + if (!yaz_filepath_resolve(index_types_fname, + profilePath, + reg_path, + tmp_full_name)) + { + yaz_log(YLOG_WARN, "Could not find %s", index_types_fname); + ret = ZEBRA_FAIL; + } + else + { + reg->index_types = zebra_index_types_create( + tmp_full_name); + yaz_log(YLOG_LOG, "zebra_index_types_create returned %p", + reg->index_types); + } + } + + } { const char *index_fname = res_get_def(res, "index", "default.idx"); if (index_fname && *index_fname) @@ -576,6 +604,7 @@ static void zebra_register_close(ZebraService zs, struct zebra_register *reg) recTypes_destroy (reg->recTypes); zebra_maps_close (reg->zebra_maps); + zebra_index_types_destroy(reg->index_types); zebraRankDestroy (reg); bfs_destroy (reg->bfs); data1_destroy (reg->dh); @@ -1288,8 +1317,7 @@ int zebra_deleteResultSet(ZebraHandle zh, int function, { int i, status; ASSERTZH; - assert(statuses); - yaz_log(log_level, "zebra_deleteResultSet n=%d",num_setnames); + yaz_log(log_level, "zebra_deleteResultSet n=%d", num_setnames); if (zebra_begin_read(zh)) return Z_DeleteStatus_systemProblemAtTarget;