X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindex.h;h=15201a288745509885c3d181db56910d85c71ef5;hb=4cea1b9769079a2cdc143f4fe483e69d5b77a813;hp=af1da33ecf35280a997af639c54acd927450380f;hpb=c325477904a47c61586ad9b756b9280c22351c6b;p=idzebra-moved-to-github.git diff --git a/index/recindex.h b/index/recindex.h index af1da33..15201a2 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -1,59 +1,43 @@ -/* - * Copyright (C) 1994-1995, Index Data I/S - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: recindex.h,v $ - * Revision 1.10 1996-10-29 14:06:53 adam - * Include zebrautl.h instead of alexutil.h. - * - * Revision 1.9 1996/05/01 13:46:36 adam - * First work on multiple records in one file. - * New option, -offset, to the "unread" command in the filter module. - * - * Revision 1.8 1995/12/06 12:41:25 adam - * New command 'stat' for the index program. - * Filenames can be read from stdin by specifying '-'. - * Bug fix/enhancement of the transformation from terms to regular - * expressons in the search engine. - * - * Revision 1.7 1995/11/28 09:09:45 adam - * Zebra config renamed. - * Use setting 'recordId' to identify record now. - * Bug fix in recindex.c: rec_release_blocks was invokeded even - * though the blocks were already released. - * File traversal properly deletes records when needed. - * - * Revision 1.6 1995/11/27 09:56:21 adam - * Record info elements better enumerated. Internal store of records. - * - * Revision 1.5 1995/11/25 10:24:07 adam - * More record fields - they are enumerated now. - * New options: flagStoreData flagStoreKey. - * - * Revision 1.4 1995/11/22 17:19:19 adam - * Record management uses the bfile system. - * - * Revision 1.3 1995/11/20 16:59:46 adam - * New update method: the 'old' keys are saved for each records. - * - * Revision 1.2 1995/11/15 19:13:08 adam - * Work on record management. - * - * Revision 1.1 1995/11/15 14:46:21 adam - * Started work on better record management system. - * - */ +/* $Id: recindex.h,v 1.21 2004-08-04 08:35:23 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + +#ifndef RECINDEX_H +#define RECINDEX_H #include +#include + +YAZ_BEGIN_CDECL #define REC_NO_INFO 8 typedef struct record_info { - int sysno; + SYSNO sysno; int newFlag; char *info[REC_NO_INFO]; size_t size[REC_NO_INFO]; + char buf_size[REC_NO_INFO][6]; + size_t size_size[REC_NO_INFO]; + Zebra_mutex mutex; } *Record; typedef struct records_info *Records; @@ -63,10 +47,14 @@ void rec_del (Records p, Record *recpp); void rec_rm (Record *recpp); void rec_put (Records p, Record *recpp); Record rec_new (Records p); -Record rec_get (Records p, int sysno); +Record rec_get (Records p, SYSNO sysno); void rec_close (Records *p); -Records rec_open (int rw); +Records rec_open (BFiles bfs, int rw, int compression_method); char *rec_strdup (const char *s, size_t *len); +void rec_prstat (Records p); + +#define REC_COMPRESS_NONE 0 +#define REC_COMPRESS_BZIP2 1 enum { recInfo_fileType, @@ -74,6 +62,9 @@ enum { recInfo_delKeys, recInfo_databaseName, recInfo_storeData, - recInfo_offset + recInfo_attr, + recInfo_sortKeys }; +YAZ_END_CDECL +#endif