From 8e1f2d86ffca33a892160b77147deb37f95d75d1 Mon Sep 17 00:00:00 2001 From: Heikki Levanto Date: Tue, 10 Aug 2004 08:19:15 +0000 Subject: [PATCH 1/1] using a few more zints for hitcounts etc --- index/extract.c | 6 +++--- index/index.h | 12 ++++++------ index/retrieve.c | 4 ++-- index/zebraapi.c | 5 +++-- index/zsets.c | 23 ++++++++++++++++------- 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/index/extract.c b/index/extract.c index 3a01c1b..98cc717 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1,4 +1,4 @@ -/* $Id: extract.c,v 1.159 2004-08-06 13:36:22 adam Exp $ +/* $Id: extract.c,v 1.160 2004-08-10 08:19:15 heikki Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -72,7 +72,8 @@ static void logRecord (ZebraHandle zh) ++zh->records_processed; if (!(zh->records_processed % 1000)) { - logf (LOG_LOG, "Records: %7d i/u/d %d/%d/%d", + logf (LOG_LOG, "Records: "ZINT_FORMAT" i/u/d " + ZINT_FORMAT"/"ZINT_FORMAT"/"ZINT_FORMAT, zh->records_processed, zh->records_inserted, zh->records_updated, zh->records_deleted); } @@ -1337,7 +1338,6 @@ void extract_flushRecordKeys (ZebraHandle zh, SYSNO sysno, if (zh->reg->key_buf_used + 1024 > (zh->reg->ptr_top -zh->reg->ptr_i)*sizeof(char*)) extract_flushWriteKeys (zh,0); - assert(zh->reg->ptr_i >= 0); ++(zh->reg->ptr_i); assert(zh->reg->ptr_i > 0); (zh->reg->key_buf)[zh->reg->ptr_top - zh->reg->ptr_i] = diff --git a/index/index.h b/index/index.h index 8a67b85..c03c099 100644 --- a/index/index.h +++ b/index/index.h @@ -1,4 +1,4 @@ -/* $Id: index.h,v 1.112 2004-08-06 13:36:23 adam Exp $ +/* $Id: index.h,v 1.113 2004-08-10 08:19:15 heikki Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -306,7 +306,7 @@ struct zebra_session { Res res; char *user_perm; int errCode; - int hits; + zint hits; char *errString; #if HAVE_SYS_TIMES_H struct tms tms1; @@ -314,10 +314,10 @@ struct zebra_session { #endif int shadow_enable; - int records_inserted; - int records_updated; - int records_deleted; - int records_processed; + zint records_inserted; + zint records_updated; + zint records_deleted; + zint records_processed; char *record_encoding; yaz_iconv_t iconv_to_utf8; diff --git a/index/retrieve.c b/index/retrieve.c index bb55d7a..1f30851 100644 --- a/index/retrieve.c +++ b/index/retrieve.c @@ -1,4 +1,4 @@ -/* $Id: retrieve.c,v 1.23 2004-08-06 09:43:03 heikki Exp $ +/* $Id: retrieve.c,v 1.24 2004-08-10 08:19:15 heikki Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -70,7 +70,7 @@ int zebra_record_int_read (void *fh, char *buf, size_t count) int l = fc->record_int_len - fc->record_int_pos; if (l <= 0) return 0; - l = (l < (int) count) ? l : count; + l = (l < (int) count) ? l : (int) count; memcpy (buf, fc->record_int_buf + fc->record_int_pos, l); fc->record_int_pos += l; return l; diff --git a/index/zebraapi.c b/index/zebraapi.c index d1c4baa..054bc0b 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.123 2004-08-06 13:14:46 adam Exp $ +/* $Id: zebraapi.c,v 1.124 2004-08-10 08:19:15 heikki Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -1561,7 +1561,8 @@ int zebra_end_transaction (ZebraHandle zh, ZebraTransactionStatus *status) zebra_register_close (zh->service, zh->reg); zh->reg = 0; - yaz_log (LOG_LOG, "Records: %7d i/u/d %d/%d/%d", + yaz_log (LOG_LOG, "Records: "ZINT_FORMAT" i/u/d " + ZINT_FORMAT"/"ZINT_FORMAT"/"ZINT_FORMAT, zh->records_processed, zh->records_inserted, zh->records_updated, zh->records_deleted); diff --git a/index/zsets.c b/index/zsets.c index 1d24d9b..b248400 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -1,4 +1,4 @@ -/* $Id: zsets.c,v 1.54 2004-08-06 13:36:23 adam Exp $ +/* $Id: zsets.c,v 1.55 2004-08-10 08:19:15 heikki Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -46,7 +46,7 @@ struct zebra_set { char *name; RSET rset; NMEM nmem; - int hits; + zint hits; int num_bases; char **basenames; Z_RPNQuery *rpn; @@ -111,6 +111,7 @@ void resultSetAddTerm (ZebraHandle zh, ZebraSet s, int reg_type, const char *db, int set, int use, const char *term) { + assert(zh); /* compiler shut up */ if (!s->nmem) s->nmem = nmem_create (); if (!s->term_entries) @@ -432,6 +433,7 @@ ZebraPosSet zebraPosSetCreate (ZebraHandle zh, const char *name, void zebraPosSetDestroy (ZebraHandle zh, ZebraPosSet records, int num) { + assert(zh); /* compiler shut up about unused arg */ xfree (records); } @@ -521,6 +523,7 @@ void resultSetInsertRank (ZebraHandle zh, struct zset_sort_info *sort_info, { struct zset_sort_entry *new_entry = NULL; int i, j; + assert(zh); /* compiler shut up about unused arg */ i = sort_info->num_entries; while (--i >= 0) @@ -617,6 +620,7 @@ void resultSetSortSingle (ZebraHandle zh, NMEM nmem, RSFD rfd; yaz_log (LOG_LOG, "resultSetSortSingle start"); + assert(nmem); /* compiler shut up about unused param */ sset->sort_info->num_entries = 0; sset->hits = 0; @@ -777,18 +781,23 @@ void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset) (*rc->add) (handle, this_sys, term_index); if ( (est==-2) && (zebraSet->hits==esthits)) { /* time to estimate the hits */ - float f; + double f; rset_pos(rset,rfd,&cur,&tot); if (tot>0) { - f=1.0*cur/tot; + f=cur/tot; est=(zint)(0.5+zebraSet->hits/f); - /* FIXME - round the guess to 3 digits */ logf(LOG_LOG, "Estimating hits (%s) " - "%0.1f->%d" + "%0.1f->"ZINT_FORMAT "; %0.1f->"ZINT_FORMAT, rset->control->desc, cur, zebraSet->hits, tot,est); + i=0; /* round to 3 significant digits */ + while (est>1000) { + est/=10; + i++; + } + while (i--) est*=10; zebraSet->hits=est; } } @@ -808,7 +817,7 @@ void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset) rset->rset_terms[i]->flags, rset->rset_terms[i]->count); - yaz_log (LOG_LOG, ZINT_FORMAT " keys, %d distinct sysnos", + yaz_log (LOG_LOG, ZINT_FORMAT " keys, "ZINT_FORMAT" distinct sysnos", kno, zebraSet->hits); } -- 1.7.10.4