X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=94964fd389df6ab0dd31f8c0d924c013df877d32;hb=be946e8fca9b807679467d508ccfe0f4b450f2d0;hp=377ab7bad729b849911156182afbe581a8bf37cc;hpb=39cb125e7755c6058a93dada8d5172804213cf8e;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index 377ab7b..94964fd 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.142 2004-11-29 21:55:27 adam Exp $ +/* $Id: zebraapi.c,v 1.145 2004-12-21 22:00:57 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -49,7 +49,6 @@ static int log_level_initialized=0; static Res zebra_open_res (ZebraHandle zh); static void zebra_close_res (ZebraHandle zh); - static void zebra_chdir (ZebraService zs) { const char *dir ; @@ -125,7 +124,6 @@ ZebraHandle zebra_open (ZebraService zs) zh->shadow_enable = 1; default_encoding = res_get_def(zs->global_res, "encoding", "ISO-8859-1"); - zh->record_encoding = xstrdup (default_encoding); zh->iconv_to_utf8 = yaz_iconv_open ("UTF-8", default_encoding); @@ -138,6 +136,8 @@ ZebraHandle zebra_open (ZebraService zs) yaz_log (YLOG_WARN, "iconv: UTF-8 to %s unsupported", default_encoding); + zh->record_encoding = 0; + zebra_mutex_cond_lock (&zs->session_lock); zh->next = zs->sessions; @@ -315,7 +315,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, if (!(reg->records = rec_open (reg->bfs, rw, record_compression))) { - yaz_log (YLOG_WARN, "rec_open"); + yaz_log (YLOG_WARN, "rec_open failed"); return 0; } if (rw) @@ -324,12 +324,12 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, } if (!(reg->dict = dict_open_res (reg->bfs, FNAME_DICT, 40, rw, 0, res))) { - yaz_log (YLOG_WARN, "dict_open"); + yaz_log (YLOG_WARN, "dict_open failed"); return 0; } if (!(reg->sortIdx = sortIdx_open (reg->bfs, rw))) { - yaz_log (YLOG_WARN, "sortIdx_open"); + yaz_log (YLOG_WARN, "sortIdx_open failed"); return 0; } if (res_get_match (res, "isam", "s", ISAM_DEFAULT)) @@ -338,7 +338,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, if (!(reg->isams = isams_open (reg->bfs, FNAME_ISAMS, rw, key_isams_m(res, &isams_m)))) { - yaz_log (YLOG_WARN, "isams_open"); + yaz_log (YLOG_WARN, "isams_open failed"); return 0; } } @@ -348,7 +348,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, if (!(reg->isamc = isc_open (reg->bfs, FNAME_ISAMC, rw, key_isamc_m(res, &isamc_m)))) { - yaz_log (YLOG_WARN, "isc_open"); + yaz_log (YLOG_WARN, "isc_open failed"); return 0; } } @@ -359,7 +359,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, if (!(reg->isamb = isamb_open (reg->bfs, "isamb", rw, key_isamc_m(res, &isamc_m), 0))) { - yaz_log (YLOG_WARN, "isamb_open"); + yaz_log (YLOG_WARN, "isamb_open failed"); return 0; } } @@ -370,7 +370,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, if (!(reg->isamb = isamb_open (reg->bfs, "isamb", rw, key_isamc_m(res, &isamc_m), 1))) { - yaz_log (YLOG_WARN, "isamb_open"); + yaz_log (YLOG_WARN, "isamb_open failed"); return 0; } } @@ -381,7 +381,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, if (!(reg->isamb = isamb_open (reg->bfs, "isamb", rw, key_isamc_m(res, &isamc_m), -1))) { - yaz_log (YLOG_WARN, "isamb_open"); + yaz_log (YLOG_WARN, "isamb_open failed"); return 0; } } @@ -847,9 +847,9 @@ int zebra_search_RPN (ZebraHandle zh, ODR o, } int zebra_records_retrieve (ZebraHandle zh, ODR stream, - const char *setname, Z_RecordComposition *comp, - oid_value input_format, int num_recs, - ZebraRetrievalRecord *recs) + const char *setname, Z_RecordComposition *comp, + oid_value input_format, int num_recs, + ZebraRetrievalRecord *recs) { ZebraMetaRecord *poset; int i, ret = 0; @@ -1693,7 +1693,7 @@ int zebra_end_transaction (ZebraHandle zh, ZebraTransactionStatus *status) } #if HAVE_SYS_TIMES_H times (&zh->tms2); - yaz_log (YLOG_LOG, "user/system: %ld/%ld", + yaz_log (log_level, "user/system: %ld/%ld", (long) (zh->tms2.tms_utime - zh->tms1.tms_utime), (long) (zh->tms2.tms_stime - zh->tms1.tms_stime)); @@ -1750,8 +1750,7 @@ static int zebra_commit_ex (ZebraHandle zh, int clean_only) rval = res_get (zh->res, "shadow"); if (!rval) { - yaz_log (YLOG_WARN, "Cannot perform commit"); - yaz_log (YLOG_WARN, "No shadow area defined"); + yaz_log (YLOG_WARN, "Cannot perform commit - No shadow area defined"); return 0; } @@ -1785,7 +1784,7 @@ static int zebra_commit_ex (ZebraHandle zh, int clean_only) } else { - yaz_log (YLOG_LOG, "nothing to commit"); + yaz_log (log_level, "nothing to commit"); } bfs_destroy (bfs); @@ -1871,28 +1870,18 @@ int zebra_shadow_enable (ZebraHandle zh, int value) return 0; } -int zebra_record_encoding (ZebraHandle zh, const char *encoding) +int zebra_octet_term_encoding(ZebraHandle zh, const char *encoding) { ASSERTZH; assert(encoding); - yaz_log(log_level,"zebra_record_encoding"); - zh->errCode=0; - xfree (zh->record_encoding); - - /* - * Fixme! - * Something about charset aliases. Oleg??? - */ + yaz_log(log_level,"zebra_octet_term_encoding"); + zh->errCode = 0; if (zh->iconv_to_utf8 != 0) yaz_iconv_close(zh->iconv_to_utf8); if (zh->iconv_from_utf8 != 0) yaz_iconv_close(zh->iconv_from_utf8); - zh->record_encoding = xstrdup (encoding); - - yaz_log(YLOG_DEBUG, "Reset record encoding: %s", encoding); - zh->iconv_to_utf8 = yaz_iconv_open ("UTF-8", encoding); if (zh->iconv_to_utf8 == 0) @@ -1905,6 +1894,18 @@ int zebra_record_encoding (ZebraHandle zh, const char *encoding) return 0; } +int zebra_record_encoding (ZebraHandle zh, const char *encoding) +{ + ASSERTZH; + yaz_log(log_level,"zebra_record_encoding"); + zh->errCode = 0; + xfree (zh->record_encoding); + zh->record_encoding = 0; + if (encoding) + zh->record_encoding = xstrdup (encoding); + return 0; +} + int zebra_set_resource(ZebraHandle zh, const char *name, const char *value) { ASSERTZH;