Implemented options -f <n> that limits the log to the first <n>
[idzebra-moved-to-github.git] / index / recindex.c
index 44de12b..979d067 100644 (file)
@@ -1,10 +1,25 @@
 /*
- * Copyright (C) 1994-1995, Index Data I/S 
+ * Copyright (C) 1994-1996, Index Data I/S 
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: recindex.c,v $
- * Revision 1.13  1995-12-11 09:12:49  adam
+ * Revision 1.17  1997-02-12 20:39:46  adam
+ * Implemented options -f <n> that limits the log to the first <n>
+ * records.
+ * Changed some log messages also.
+ *
+ * Revision 1.16  1996/06/04 10:19:00  adam
+ * Minor changes - removed include of ctype.h.
+ *
+ * Revision 1.15  1996/05/13  14:23:06  adam
+ * Work on compaction of set/use bytes in dictionary.
+ *
+ * Revision 1.14  1996/02/01  20:48:15  adam
+ * The total size of records are always checked in rec_cache_insert to
+ * reduce memory usage.
+ *
+ * Revision 1.13  1995/12/11  09:12:49  adam
  * The rec_get function returns NULL if record doesn't exist - will
  * happen in the server if the result set records have been deleted since
  * the creation of the set (i.e. the search).
@@ -63,7 +78,6 @@
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
-#include <ctype.h>
 
 #include "recindxp.h"
 
@@ -370,7 +384,7 @@ static void rec_cache_insert (Records p, Record rec, enum recordCacheFlag flag)
 
     if (p->cache_cur == p->cache_max)
         rec_cache_flush (p, 1);
-    else if (p->cache_cur > 2)
+    else if (p->cache_cur > 0)
     {
         int i, j;
         int used = 0;
@@ -489,7 +503,7 @@ Record rec_new (Records p)
 
     assert (p);
     rec = xmalloc (sizeof(*rec));
-    if (p->head.index_free == 0)
+    if (1 || p->head.index_free == 0)
         sysno = (p->head.index_last)++;
     else
     {
@@ -548,6 +562,9 @@ void rec_put (Records p, Record *recpp)
 void rec_rm (Record *recpp)
 {
     int i;
+
+    if (!*recpp)
+        return ;
     for (i = 0; i < REC_NO_INFO; i++)
         xfree ((*recpp)->info[i]);
     xfree (*recpp);