X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=index%2Fextract.c;h=33fc1e368c9420df902c38252ba8121727781d7d;hb=be0203ee07adfeda7821a2c44ba6dd31a532b792;hp=5cc475e46001b52d8c6bd3cc77b477cb2fd51a73;hpb=44082770642275dd993aa621d9dc5c5b0dc454d3;p=idzebra-moved-to-github.git diff --git a/index/extract.c b/index/extract.c index 5cc475e..33fc1e3 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1,4 +1,4 @@ -/* $Id: extract.c,v 1.189 2005-08-18 12:50:17 adam Exp $ +/* $Id: extract.c,v 1.192 2005-08-22 09:04:17 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -1007,6 +1007,7 @@ ZEBRA_RES buffer_extract_record (ZebraHandle zh, *sysno = rec->sysno; recordAttr = rec_init_attr (zh->reg->zei, rec); + recordAttr->staticrank = extractCtrl.staticrank; if (matchStr) { @@ -1014,7 +1015,8 @@ ZEBRA_RES buffer_extract_record (ZebraHandle zh, sizeof(*sysno), sysno); } extract_flushSortKeys (zh, *sysno, 1, &zh->reg->sortKeys); - extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys, 0); + extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys, + recordAttr->staticrank); zh->records_inserted++; } @@ -1063,7 +1065,8 @@ ZEBRA_RES buffer_extract_record (ZebraHandle zh, sortKeys.buf = rec->info[recInfo_sortKeys]; extract_flushSortKeys (zh, *sysno, 0, &sortKeys); - extract_flushRecordKeys (zh, *sysno, 0, &delkeys, 0); + extract_flushRecordKeys (zh, *sysno, 0, &delkeys, + recordAttr->staticrank); if (delete_flag) { /* record going to be deleted */ @@ -1108,8 +1111,10 @@ ZEBRA_RES buffer_extract_record (ZebraHandle zh, if (show_progress) yaz_log (YLOG_LOG, "update %s %s %ld", recordType, pr_fname, (long) recordOffset); + recordAttr->staticrank = extractCtrl.staticrank; extract_flushSortKeys (zh, *sysno, 1, &zh->reg->sortKeys); - extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys, 0); + extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys, + recordAttr->staticrank); zh->records_updated++; } } @@ -1308,7 +1313,6 @@ void extract_flushRecordKeys (ZebraHandle zh, SYSNO sysno, struct it_key key_out; char *dst = (char*) &key_in; zint *keyp = key_out.mem; - size_t key_idx = 0; iscz1_decode(decode_handle, &dst, &src); assert(key_in.len == 4); @@ -1680,9 +1684,9 @@ static void extract_add_sort_string (RecWord *p, const char *str, int length) { int set, use, slen; - off += key_SU_decode(&set, sk->buf + off); - off += key_SU_decode(&use, sk->buf + off); - off += key_SU_decode(&slen, sk->buf + off); + off += key_SU_decode(&set, (unsigned char *) sk->buf + off); + off += key_SU_decode(&use, (unsigned char *) sk->buf + off); + off += key_SU_decode(&slen, (unsigned char *) sk->buf + off); off += slen; if (p->attrSet == set && p->attrUse == use) return; @@ -1926,9 +1930,9 @@ void extract_flushSortKeys (ZebraHandle zh, SYSNO sysno, { int set, use, slen; - off += key_SU_decode(&set, sk->buf + off); - off += key_SU_decode(&use, sk->buf + off); - off += key_SU_decode(&slen, sk->buf + off); + off += key_SU_decode(&set, (unsigned char *) sk->buf + off); + off += key_SU_decode(&use, (unsigned char *) sk->buf + off); + off += key_SU_decode(&slen, (unsigned char *) sk->buf + off); sortIdx_type(sortIdx, use); if (cmd == 1)