X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fextract.c;h=02ee66044636807aca0a31d7b8c5e054f215eee4;hb=e8393fc8e78d777294f6eabf4029b90d566cf978;hp=b00178ffbe0dcc0169d3fbf6c4883610b1ff81a0;hpb=12aa5211e599a051eca016ff5747a244accff884;p=idzebra-moved-to-github.git diff --git a/index/extract.c b/index/extract.c index b00178f..02ee660 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1,4 +1,4 @@ -/* $Id: extract.c,v 1.181 2005-04-28 12:13:04 adam Exp $ +/* $Id: extract.c,v 1.183 2005-05-31 13:01:36 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -116,7 +116,7 @@ static const char **searchRecordKey (ZebraHandle zh, int attrSet, attrUse; iscz1_decode(decode_handle, &dst, &src); - assert(key.len < 4 && key.len > 2); + assert(key.len <= 4 && key.len > 2); attrSet = (int) key.mem[0] >> 16; attrUse = (int) key.mem[0] & 65535; @@ -202,14 +202,9 @@ static void file_end (void *handle, off_t offset) if (offset != p->file_moffset) { - yaz_log(YLOG_LOG, "file_end OK"); p->file_moffset = offset; p->file_more = 1; } - else - { - yaz_log(YLOG_LOG, "file_end REJECTED"); - } } static char *fileMatchStr (ZebraHandle zh, @@ -809,7 +804,6 @@ int fileExtract (ZebraHandle zh, SYSNO *sysno, const char *fname, fi->file_more = 0; /* file_end not called (yet) */ r = file_extract_record (zh, sysno, fname, deleteFlag, fi, 1, recType, recTypeClientData); - yaz_log(YLOG_LOG, "file_extract_record returned %d", r); if (fi->file_more) { /* file_end has been called so reset offset .. */ fi->file_offset = fi->file_moffset; @@ -1479,6 +1473,45 @@ void extract_add_it_key (ZebraHandle zh, keys->buf_used = dst - keys->buf; } +void print_rec_keys(ZebraHandle zh, struct recKeys *reckeys) +{ + void *decode_handle = iscz1_start(); + int off = 0; + int seqno = 0; + NMEM nmem = nmem_create(); + + yaz_log(YLOG_LOG, "print_rec_keys buf=%p sz=%d", reckeys->buf, + reckeys->buf_used); + assert(reckeys->buf); + while (off < reckeys->buf_used) + { + const char *src = reckeys->buf + off; + struct it_key key; + char *dst = (char*) &key; + int attrSet, attrUse; + char dst_buf[IT_MAX_WORD]; + char *dst_term = dst_buf; + + iscz1_decode(decode_handle, &dst, &src); + assert(key.len <= 4 && key.len > 2); + + attrSet = (int) key.mem[0] >> 16; + attrUse = (int) key.mem[0] & 65535; + seqno = (int) key.mem[key.len-1]; + + zebra_term_untrans_iconv(zh, nmem, src[0], &dst_term, src+1); + + yaz_log(YLOG_LOG, "ord=" ZINT_FORMAT " seqno=%d term=%s", + key.mem[0], seqno, dst_term); + while (*src++) + ; + off = src - reckeys->buf; + nmem_reset(nmem); + } + nmem_destroy(nmem); + iscz1_stop(decode_handle); +} + void extract_add_index_string (RecWord *p, const char *str, int length) { struct it_key key;