using a few more zints for hitcounts etc
authorHeikki Levanto <heikki@indexdata.dk>
Tue, 10 Aug 2004 08:19:15 +0000 (08:19 +0000)
committerHeikki Levanto <heikki@indexdata.dk>
Tue, 10 Aug 2004 08:19:15 +0000 (08:19 +0000)
index/extract.c
index/index.h
index/retrieve.c
index/zebraapi.c
index/zsets.c

index 3a01c1b..98cc717 100644 (file)
@@ -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] =
index 8a67b85..c03c099 100644 (file)
@@ -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;
index bb55d7a..1f30851 100644 (file)
@@ -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;
index d1c4baa..054bc0b 100644 (file)
@@ -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);
         
index 1d24d9b..b248400 100644 (file)
@@ -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);
 }