X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Findex.h;h=2af7982cfc60b063cb39a70a0345c575f51ee209;hb=a6c6ab1a43cc3bbe1dd7f233ead8a24e8eba4b56;hp=fb87c353cecbce7777daaed6bf056b52ae7a1f20;hpb=726c42c6ae793b79a5351d2fce805d220d21321e;p=idzebra-moved-to-github.git diff --git a/index/index.h b/index/index.h index fb87c35..2af7982 100644 --- a/index/index.h +++ b/index/index.h @@ -1,4 +1,4 @@ -/* $Id: index.h,v 1.119 2004-09-09 10:08:04 heikki Exp $ +/* $Id: index.h,v 1.125 2004-11-29 21:45:11 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -26,7 +26,6 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include #include -#include #include #if HAVE_SYS_TIMES_H @@ -38,8 +37,8 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include #include -#include -#include +#include +#include #include "recindex.h" #include #include "zinfo.h" @@ -54,25 +53,11 @@ YAZ_BEGIN_CDECL #define IT_MAX_WORD 256 -#define IT_KEY_NEW 1 - -#if IT_KEY_NEW - -#endif - -#if IT_KEY_NEW #define IT_KEY_LEVEL_MAX 4 struct it_key { int len; zint mem[IT_KEY_LEVEL_MAX]; }; -#else -struct it_key { - int sysno; - int seqno; -}; -#endif - enum dirsKind { dirs_dir, dirs_file }; @@ -188,9 +173,7 @@ struct encode_info { int prevseq; int prevcmd; int keylen; /* tells if we have an unwritten key in buf, and how long*/ -#if IT_KEY_NEW void *encode_handle; -#endif char buf[ENCODE_BUFLEN]; }; @@ -219,13 +202,7 @@ struct recKeys { int buf_used; int buf_max; char *buf; -#if IT_KEY_NEW void *codec_handle; -#else - int prevSeqNo; - char prevAttrSet; - short prevAttrUse; -#endif }; struct sortKeys { @@ -281,6 +258,8 @@ struct zebra_service { Zebra_mutex_cond session_lock; Passwd_db passwd_db; const char *path_root; + RecTypeClass record_classes; + NMEM nmem; }; @@ -339,7 +318,9 @@ struct rank_control { char *name; void *(*create)(ZebraHandle zh); void (*destroy)(struct zebra_register *reg, void *class_handle); - void *(*begin)(struct zebra_register *reg, void *class_handle, RSET rset); + void *(*begin)(struct zebra_register *reg, + void *class_handle, RSET rset, NMEM nmem, + TERMID *terms, int numterms); /* ### Could add parameters to begin: * char *index; // author, title, etc. * int dbsize; // number of records in database @@ -347,7 +328,7 @@ struct rank_control { */ void (*end)(struct zebra_register *reg, void *set_handle); int (*calc)(void *set_handle, zint sysno); - void (*add)(void *set_handle, int seqno, int term_index); + void (*add)(void *set_handle, int seqno, TERMID term); }; struct term_set_entry { @@ -400,7 +381,7 @@ void resultSetSort (ZebraHandle zh, NMEM nmem, void resultSetSortSingle (ZebraHandle zh, NMEM nmem, ZebraSet sset, RSET rset, Z_SortKeySpecList *sort_sequence, int *sort_status); -void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset); +void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset, NMEM nmem); void resultSetInvalidate (ZebraHandle zh); int zebra_server_lock_init (ZebraService zh); @@ -429,7 +410,8 @@ extern struct rank_control *rankliv_class; int zebra_record_fetch (ZebraHandle zh, SYSNO sysno, int score, ODR stream, oid_value input_format, Z_RecordComposition *comp, oid_value *output_format, char **rec_bufp, - int *rec_lenp, char **basenamep); + int *rec_lenp, char **basenamep, + char **addinfo); void extract_get_fname_tmp (ZebraHandle zh, char *fname, int no);