Disable X-Path indexing for explain records (in the case where
[idzebra-moved-to-github.git] / index / zinfo.h
1 /* $Id: zinfo.h,v 1.34 2006-06-13 12:02:13 adam Exp $
2    Copyright (C) 1995-2006
3    Index Data ApS
4
5 This file is part of the Zebra server.
6
7 Zebra is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
10 version.
11
12 Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Zebra; see the file LICENSE.zebra.  If not, write to the
19 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA.
21 */
22
23
24 #ifndef ZINFO_H
25 #define ZINFO_H
26
27 #include <d1_absyn.h>
28 #include <idzebra/api.h>
29 #include "recindex.h"
30
31 /* Compare string (ignore case) */
32 #ifdef WIN32
33 #define STRCASECMP      stricmp
34 #else
35 #define STRCASECMP      strcasecmp
36 #endif
37
38 YAZ_BEGIN_CDECL
39
40 typedef ZEBRA_RES ZebraExplainUpdateFunc(void *handle,
41                                          Record drec, 
42                                          data1_node *n);
43
44 typedef struct zebraExplainInfo *ZebraExplainInfo;
45 typedef struct zebDatabaseInfo ZebDatabaseInfo;
46 ZebraExplainInfo zebraExplain_open(Records records, data1_handle dh,
47                                    Res res,
48                                    int writeFlag,
49                                    void *updateHandle,
50                                    ZebraExplainUpdateFunc *);
51
52 void zebraExplain_close (ZebraExplainInfo zei);
53 int zebraExplain_curDatabase (ZebraExplainInfo zei, const char *database);
54 int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database,
55                               int explain_database);
56 int zebraExplain_add_attr_su(ZebraExplainInfo zei, int index_type,
57                              int set, int use);
58 int zebraExplain_lookup_attr_str(ZebraExplainInfo zei, int index_type,
59                                  const char *str);
60 int zebraExplain_add_attr_str(ZebraExplainInfo zei, int index_type,
61                               const char *str);
62 void zebraExplain_addSchema (ZebraExplainInfo zei, Odr_oid *oid);
63 void zebraExplain_recordCountIncrement (ZebraExplainInfo zei, int adjust_num);
64 void zebraExplain_recordBytesIncrement (ZebraExplainInfo zei, int adjust_num);
65 zint zebraExplain_runNumberIncrement (ZebraExplainInfo zei, int adjust_num);
66 void zebraExplain_loadAttsets (data1_handle dh, Res res);
67 void zebraExplain_flush (ZebraExplainInfo zei, void *updateHandle);
68
69 int zebraExplain_lookup_ord (ZebraExplainInfo zei, int ord,
70                              int *index_type, const char **db,
71                              const char **string_index);
72
73 int zebraExplain_ord_adjust_occurrences(ZebraExplainInfo zei, int ord,
74                                         int term_delta, int doc_delta);
75
76 zint zebraExplain_ord_get_term_occurrences(ZebraExplainInfo zei, int ord);
77 zint zebraExplain_ord_get_doc_occurrences(ZebraExplainInfo zei, int ord);
78
79 int zebraExplain_trav_ord(ZebraExplainInfo zei, void *handle,
80                           int (*f)(void *handle, int ord));
81
82 int zebraExplain_get_database_ord(ZebraExplainInfo zei);
83 int zebraExplain_removeDatabase(ZebraExplainInfo zei, void *updateHandle);
84
85 typedef struct {
86     int recordSize;
87     off_t recordOffset;
88     zint runNumber;
89     zint staticrank;
90 } RecordAttr;
91 RecordAttr *rec_init_attr (ZebraExplainInfo zei, Record rec);
92
93 YAZ_END_CDECL
94
95 #endif
96 /*
97  * Local variables:
98  * c-basic-offset: 4
99  * indent-tabs-mode: nil
100  * End:
101  * vim: shiftwidth=4 tabstop=8 expandtab
102  */
103