/*
- * Copyright (C) 1994-1996, Index Data I/S
+ * Copyright (C) 1994-1998, Index Data I/S
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: recindex.c,v $
- * Revision 1.17 1997-02-12 20:39:46 adam
+ * Revision 1.20 1998-01-12 15:04:08 adam
+ * The test option (-s) only uses read-lock (and not write lock).
+ *
+ * Revision 1.19 1997/09/17 12:19:16 adam
+ * Zebra version corresponds to YAZ version 1.4.
+ * Changed Zebra server so that it doesn't depend on global common_resource.
+ *
+ * Revision 1.18 1997/07/15 16:28:42 adam
+ * Bug fix: storeData didn't work with files with multiple records.
+ * Bug fix: fixed memory management with records; not really well
+ * thought through.
+ *
+ * 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.
static void rec_tmp_expand (Records p, int size, int dst_type)
{
- if (p->tmp_size < size + 256 ||
+ if (p->tmp_size < size + 2048 ||
p->tmp_size < p->head.block_size[dst_type]*2)
{
xfree (p->tmp_buf);
- p->tmp_size = size + p->head.block_size[dst_type]*2 + 256;
+ p->tmp_size = size + p->head.block_size[dst_type]*2 + 2048;
p->tmp_buf = xmalloc (p->tmp_size);
}
}
{
logf (LOG_FATAL|LOG_ERRNO, "read in %s at pos %ld",
p->index_fname, (long) pos);
- abort ();
exit (1);
}
return r;
{
logf (LOG_FATAL|LOG_ERRNO, "read in %s at free block %d",
p->data_fname[dst_type], block_free);
+ exit (1);
}
}
else
rec_write_single (p, rec);
}
-Records rec_open (int rw)
+Records rec_open (BFiles bfs, int rw)
{
Records p;
int i, r;
p->tmp_size = 1024;
p->tmp_buf = xmalloc (p->tmp_size);
p->index_fname = "recindex";
- p->index_BFile = bf_open (p->index_fname, 128, rw);
+ p->index_BFile = bf_open (bfs, p->index_fname, 128, rw);
if (p->index_BFile == NULL)
{
logf (LOG_FATAL|LOG_ERRNO, "open %s", p->index_fname);
}
for (i = 0; i<REC_BLOCK_TYPES; i++)
{
- if (!(p->data_BFile[i] = bf_open (p->data_fname[i],
+ if (!(p->data_BFile[i] = bf_open (bfs, p->data_fname[i],
p->head.block_size[i],
rw)))
{