The rec_get function returns NULL if record doesn't exist - will
[idzebra-moved-to-github.git] / index / extract.c
index 8b189ca..5c1f738 100644 (file)
@@ -4,7 +4,14 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: extract.c,v $
- * Revision 1.42  1995-12-07 17:38:46  adam
+ * Revision 1.43  1995-12-11 09:12:46  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).
+ * The server saves a result temporarily if it is 'volatile', i.e. the
+ * set is register dependent.
+ *
+ * Revision 1.42  1995/12/07  17:38:46  adam
  * Work locking mechanisms for concurrent updates/commit.
  *
  * Revision 1.41  1995/12/06  16:06:42  adam
@@ -177,6 +184,7 @@ void key_open (int mem)
 {
     if (mem < 50000)
         mem = 50000;
+    logf (LOG_LOG, "key_open %d", mem);
     key_buf = xmalloc (mem);
     ptr_top = mem/sizeof(char*);
     ptr_i = 0;
@@ -303,6 +311,7 @@ void key_flush (void)
 int key_close (void)
 {
     key_flush ();
+    logf (LOG_LOG, "buf free");
     xfree (key_buf);
     rec_close (&records);
     dict_close (matchDict);
@@ -785,7 +794,7 @@ static int recordExtract (SYSNO *sysno, const char *fname,
         struct recKeys delkeys;
 
         rec = rec_get (records, *sysno);
-
+        assert (rec);
         delkeys.buf_used = rec->size[recInfo_delKeys];
        delkeys.buf = rec->info[recInfo_delKeys];
         flushRecordKeys (*sysno, 0, &delkeys, rec->info[recInfo_databaseName]);