X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fretrieve.c;h=364bd23fca2449cb1151afcef7662de85c82c26a;hb=3731bdaf94aeba2550fc553aebe34831c203dc36;hp=6a56d618e33a328884b3d3b2f6a9fbdf696601aa;hpb=e199777080c6fa0963d51b7df1763fd5286ca9a4;p=idzebra-moved-to-github.git diff --git a/index/retrieve.c b/index/retrieve.c index 6a56d61..364bd23 100644 --- a/index/retrieve.c +++ b/index/retrieve.c @@ -1,4 +1,4 @@ -/* $Id: retrieve.c,v 1.75 2007-10-31 16:56:14 adam Exp $ +/* $Id: retrieve.c,v 1.76 2007-11-30 12:19:08 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -703,7 +703,7 @@ int zebra_special_fetch(ZebraHandle zh, const char *setname, int zebra_record_fetch(ZebraHandle zh, const char *setname, zint sysno, int score, - zebra_snippets *hit_snippet, ODR odr, + ODR odr, const Odr_oid *input_format, Z_RecordComposition *comp, const Odr_oid **output_format, char **rec_bufp, int *rec_lenp, char **basenamep, @@ -716,7 +716,15 @@ int zebra_record_fetch(ZebraHandle zh, const char *setname, RecordAttr *recordAttr; void *clientData; int return_code = 0; + zint sysnos[10]; + int no_sysnos = 10; + ZEBRA_RES res; + res = zebra_result_recid_to_sysno(zh, setname, sysno, sysnos, &no_sysnos); + if (res != ZEBRA_OK) + return ZEBRA_FAIL; + + sysno = sysnos[0]; *basenamep = 0; *addinfo = 0; elemsetname = yaz_get_esn(comp); @@ -754,7 +762,6 @@ int zebra_record_fetch(ZebraHandle zh, const char *setname, if (rec) { - zebra_rec_keys_t reckeys = zebra_rec_keys_open(); RecType rt; struct recRetrieveCtrl retrieveCtrl; @@ -774,15 +781,6 @@ int zebra_record_fetch(ZebraHandle zh, const char *setname, retrieveCtrl.res = zh->res; retrieveCtrl.rec_buf = 0; retrieveCtrl.rec_len = -1; - retrieveCtrl.hit_snippet = hit_snippet; - retrieveCtrl.doc_snippet = zebra_snippets_create(); - - zebra_rec_keys_set_buf(reckeys, - rec->info[recInfo_delKeys], - rec->size[recInfo_delKeys], - 0); - zebra_rec_keys_to_snippets(zh, reckeys, retrieveCtrl.doc_snippet); - zebra_rec_keys_close(reckeys); if (!(rt = recType_byName(zh->reg->recTypes, zh->res, file_type, &clientData))) @@ -806,8 +804,6 @@ int zebra_record_fetch(ZebraHandle zh, const char *setname, *addinfo = retrieveCtrl.addinfo; } - zebra_snippets_destroy(retrieveCtrl.doc_snippet); - stream.destroy(&stream); rec_free(&rec); }