X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindxp.h;h=0f902c83ef88dba6d53fc818d9f5092e73d5b34e;hb=cc9f94a61cbd9dcc0df0cf7d0c7c41d2cec88189;hp=f821315eaaad0740ed032f7a8b844804f7edbc6f;hpb=62f6cad37f14a19d9c1ce763ea54a61b350c7881;p=idzebra-moved-to-github.git diff --git a/index/recindxp.h b/index/recindxp.h index f821315..0f902c8 100644 --- a/index/recindxp.h +++ b/index/recindxp.h @@ -1,10 +1,36 @@ /* - * Copyright (C) 1994-1995, Index Data I/S + * Copyright (C) 1994-2000, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: recindxp.h,v $ - * Revision 1.2 1995-12-11 09:12:51 adam + * Revision 1.10 2001-10-15 19:53:43 adam + * POSIX thread updates. First work on term sets. + * + * Revision 1.9 2000/12/05 10:01:44 adam + * Fixed bug regarding user-defined attribute sets. + * + * Revision 1.8 2000/04/05 09:49:35 adam + * On Unix, zebra/z'mbol uses automake. + * + * Revision 1.7 1999/07/06 12:28:04 adam + * Updated record index structure. Format includes version ID. Compression + * algorithm ID is stored for each record block. + * + * Revision 1.6 1999/05/26 07:49:13 adam + * C++ compilation. + * + * Revision 1.5 1999/02/02 14:51:05 adam + * Updated WIN32 code specific sections. Changed header. + * + * Revision 1.4 1998/03/05 08:45:12 adam + * New result set model and modular ranking system. Moved towards + * descent server API. System information stored as "SGML" records. + * + * Revision 1.3 1995/12/11 11:45:55 adam + * Removed commented code. + * + * Revision 1.2 1995/12/11 09:12:51 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). @@ -23,16 +49,19 @@ #include +YAZ_BEGIN_CDECL + #define REC_BLOCK_TYPES 2 -#define REC_HEAD_MAGIC "recindx" +#define REC_HEAD_MAGIC "recindex" +#define REC_VERSION 3 struct records_info { int rw; + int compression_method; char *index_fname; BFile index_BFile; - char *data_fname[REC_BLOCK_TYPES]; BFile data_BFile[REC_BLOCK_TYPES]; @@ -44,8 +73,11 @@ struct records_info { int cache_cur; int cache_max; + Zebra_mutex mutex; + struct records_head { char magic[8]; + char version[4]; int block_size[REC_BLOCK_TYPES]; int block_free[REC_BLOCK_TYPES]; int block_last[REC_BLOCK_TYPES]; @@ -69,19 +101,8 @@ struct record_cache_entry { }; struct record_index_entry { -#if 1 int next; /* first block of record info / next free entry */ int size; /* size of record or 0 if free entry */ -#else - union { - struct { - int next; - int size; - } used; - struct { - int next; - } free; - } u; -#endif }; +YAZ_END_CDECL