-/* $Id: index.h,v 1.182 2006-11-21 14:32:38 adam Exp $
- Copyright (C) 1995-2006
+/* $Id: index.h,v 1.192 2007-01-16 15:31:23 adam Exp $
+ Copyright (C) 1995-2007
Index Data ApS
This file is part of the Zebra server.
#endif
#include <sys/stat.h>
+#include <yaz/timing.h>
#include <idzebra/dict.h>
#include <idzebra/isams.h>
#include <idzebra/isamc.h>
struct dirs_entry {
enum dirsKind kind;
char path[256];
- SYSNO sysno;
+ zint sysno;
time_t mtime;
};
struct dirs_entry *dirs_last(struct dirs_info *p);
void dirs_mkdir(struct dirs_info *p, const char *src, time_t mtime);
void dirs_rmdir(struct dirs_info *p, const char *src);
-void dirs_add(struct dirs_info *p, const char *src, SYSNO sysno, time_t mtime);
+void dirs_add(struct dirs_info *p, const char *src, zint sysno, time_t mtime);
void dirs_del(struct dirs_info *p, const char *src);
void dirs_free(struct dirs_info **pp);
struct dir_entry *dir_open(const char *rep, const char *base,
- int follow_links);
+ int follow_links);
void dir_sort(struct dir_entry *e);
void dir_free(struct dir_entry **e_p);
#define GMATCH_DICT "gmatch"
#define FMATCH_DICT "fmatch%d"
-struct strtab *strtab_mk(void);
-int strtab_src(struct strtab *t, const char *name, void ***infop);
-void strtab_del(struct strtab *t,
- void (*func)(const char *name, void *info, void *data),
- void *data);
-
-void zebraIndexLockMsg(ZebraHandle zh, const char *str);
-void zebraIndexUnlock(ZebraHandle zh);
-int zebraIndexLock(BFiles bfs, ZebraHandle zh, int commitNow, const char *rval);
-int zebraIndexWait(ZebraHandle zh, int commitPhase);
-
void zebra_lock_prefix(Res res, char *dst);
#define FNAME_MAIN_LOCK "zebraidx.LCK"
ISAMB isamb;
Dict dict;
Dict matchDict;
- SortIdx sortIdx;
+ zebra_sort_index_t sort_index;
int registerState; /* 0 (no commit pages), 1 (use commit pages) */
time_t registerChange;
BFiles bfs;
const char *path_root;
RecTypeClass record_classes;
NMEM nmem;
+ yaz_timing_t timing;
};
char *user_perm;
char *dbaccesslist;
int errCode;
- zint hits;
char *errString;
+ int partial_result;
#if HAVE_SYS_TIMES_H
struct tms tms1;
struct tms tms2;
int num_bases, char **basenames,
RSET *result_set);
+ZEBRA_RES rpn_get_top_approx_limit(ZebraHandle zh, Z_RPNStructure *zs,
+ zint *approx_limit);
+
ZEBRA_RES rpn_scan(ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
oid_value attributeset,
int num_bases, char **basenames,
ZebraSet resultSetAdd(ZebraHandle zh, const char *name, int ov);
ZebraSet resultSetGet(ZebraHandle zh, const char *name);
ZEBRA_RES resultSetAddRPN(ZebraHandle zh, NMEM m, Z_RPNQuery *rpn,
- int num_bases, char **basenames,
- const char *setname);
+ int num_bases, char **basenames,
+ const char *setname,
+ zint *hits, int *estimated_hit_count);
RSET resultSetRef(ZebraHandle zh, const char *resultSetId);
void resultSetDestroy(ZebraHandle zh, int num_names, char **names,
int *statuses);
NMEM nmem);
void resultSetInvalidate(ZebraHandle zh);
-int zebra_record_fetch(ZebraHandle zh, SYSNO sysno, int score,
+int zebra_record_fetch(ZebraHandle zh, zint sysno, int score,
zebra_snippets *hit_snippet, ODR stream,
oid_value input_format, Z_RecordComposition *comp,
oid_value *output_format, char **rec_bufp,
int delete_flag,
int test_mode,
const char *recordType,
- SYSNO *sysno,
+ zint *sysno,
const char *match_criteria,
const char *fname,
int force_update,
int delete_flag,
int test_mode,
const char *recordType,
- SYSNO *sysno,
+ zint *sysno,
const char *match_criteria,
const char *fname,
int force_update,
int allow_update,
RecType recType,
- void *recTypeClientData);
+ void *recTypeClientData,
+ int *more);
YAZ_EXPORT void zebra_create_stream_mem(struct ZebraRecStream *stream,
const char *buf, size_t sz);
ZEBRA_RES zebra_extract_explain(void *handle, Record rec, data1_node *n);
-ZEBRA_RES zebra_extract_file(ZebraHandle zh, SYSNO *sysno, const char *fname,
+ZEBRA_RES zebra_extract_file(ZebraHandle zh, zint *sysno, const char *fname,
int deleteFlag);
ZEBRA_RES zebra_begin_read(ZebraHandle zh);
char *termz);
+void zebra_set_partial_result(ZebraHandle zh);
+
+int zebra_check_res(Res res);
+
#define FIRST_IN_FIELD_STR "\001^"
#define FIRST_IN_FIELD_CHAR 1
#define FIRST_IN_FIELD_LEN 2