X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fkey_block.c;h=085f2b21411e8b435efdaa468a7389332d60335c;hb=6b553b7b42f0a2940c9765b9811e5db44ba8265f;hp=e9e8fdb563e468a74f71b73100530f95b5d741af;hpb=b3af54f7bf58db2a5d85b6a54b720bf6c5359c1f;p=idzebra-moved-to-github.git diff --git a/index/key_block.c b/index/key_block.c index e9e8fdb..085f2b2 100644 --- a/index/key_block.c +++ b/index/key_block.c @@ -1,4 +1,4 @@ -/* $Id: key_block.c,v 1.4 2006-11-21 22:17:49 adam Exp $ +/* $Id: key_block.c,v 1.7 2006-12-03 15:55:02 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -65,8 +65,6 @@ struct encode_info { char buf[ENCODE_BUFLEN]; }; -static int log_level = 0; - #define USE_SHELLSORT 0 #if USE_SHELLSORT @@ -188,6 +186,11 @@ zebra_key_block_t key_block_create(int mem, const char *key_tmp_dir, { zebra_key_block_t p = xmalloc(sizeof(*p)); +#if YAZ_POSIX_THREADS + /* we'll be making two memory areas so cut in half */ + if (use_threads) + mem = mem / 2; +#endif p->key_buf = (char**) xmalloc (mem); p->ptr_top = mem/sizeof(char*); p->ptr_i = 0; @@ -279,7 +282,10 @@ void key_block_write(zebra_key_block_t p, zint sysno, struct it_key *key_in, ((char*)p->key_buf)[(p->key_buf_used)++] = cmd; if (static_rank_enable) + { + assert(staticrank >= 0); key_out.mem[j++] = staticrank; + } if (key_in->mem[1]) /* filter specified record ID */ key_out.mem[j++] = key_in->mem[1]; @@ -305,9 +311,6 @@ void key_block_flush_int(zebra_key_block_t p, (p->key_file_no)++; yaz_log(YLOG_LOG, "sorting section %d", (p->key_file_no)); - yaz_log(log_level, " sort_buff at %p n=%d", - key_buf + ptr_top - ptr_i,ptr_i); - #if USE_SHELLSORT shellsort(key_buf + ptr_top - ptr_i, ptr_i,