projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix casts (sort)
[idzebra-moved-to-github.git]
/
include
/
idzebra
/
recctrl.h
diff --git
a/include/idzebra/recctrl.h
b/include/idzebra/recctrl.h
index
c7c92cc
..
18d6226
100644
(file)
--- a/
include/idzebra/recctrl.h
+++ b/
include/idzebra/recctrl.h
@@
-1,8
+1,5
@@
-/* $Id: recctrl.h,v 1.35 2007-05-08 12:50:04 adam Exp $
- Copyright (C) 1995-2007
- Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+ Copyright (C) 1994-2010 Index Data
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
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
@@
-49,8
+46,8
@@
YAZ_BEGIN_CDECL
/** Indexing token */
typedef struct {
/** Indexing token */
typedef struct {
- /** index type ('w', 'p', .. */
- unsigned index_type;
+ /** index type, e.g. "w", "p", .. */
+ const char *index_type;
/** index name, e.g. "title" */
const char *index_name;
/** token char data */
/** index name, e.g. "title" */
const char *index_name;
/** token char data */
@@
-84,11
+81,18
@@
struct ZebraRecStream {
void (*destroy)(struct ZebraRecStream *s);
};
void (*destroy)(struct ZebraRecStream *s);
};
+/** record update action */
enum zebra_recctrl_action_t {
enum zebra_recctrl_action_t {
+ /** insert record (fail if it exists already) */
action_insert = 1,
action_insert = 1,
+ /** replace record (fail it it does not exist) */
action_replace,
action_replace,
+ /** delete record (fail if it does not exist) */
action_delete,
action_delete,
- action_update /* insert or replace as needed */
+ /** insert or replace */
+ action_update,
+ /** delete record (ignore if it does not exist) */
+ action_a_delete
};
/** \brief record extract for indexing */
};
/** \brief record extract for indexing */
@@
-100,7
+104,6
@@
struct recExtractCtrl {
void (*setStoreData)(struct recExtractCtrl *p, void *buf, size_t size);
int first_record;
int flagShowRecords;
void (*setStoreData)(struct recExtractCtrl *p, void *buf, size_t size);
int first_record;
int flagShowRecords;
- int seqno[256];
char match_criteria[256];
zint staticrank;
void (*schemaAdd)(struct recExtractCtrl *p, Odr_oid *oid);
char match_criteria[256];
zint staticrank;
void (*schemaAdd)(struct recExtractCtrl *p, Odr_oid *oid);
@@
-124,8
+127,6
@@
struct recRetrieveCtrl {
int recordSize; /* size of record in bytes */
char *fname; /* name of file (or NULL if internal) */
data1_handle dh;
int recordSize; /* size of record in bytes */
char *fname; /* name of file (or NULL if internal) */
data1_handle dh;
- zebra_snippets *hit_snippet;
- zebra_snippets *doc_snippet;
/* response */
const Odr_oid * output_format; /* output format OID */
/* response */
const Odr_oid * output_format; /* output format OID */
@@
-133,6
+134,13
@@
struct recRetrieveCtrl {
int rec_len;
int diagnostic;
char * addinfo;
int rec_len;
int diagnostic;
char * addinfo;
+
+ /* special fetch to be included in retrieved response (say snippets) */
+ void *handle;
+ int (*special_fetch)(void *handle, const char *esn,
+ const Odr_oid *input_format,
+ const Odr_oid **output_format,
+ WRBUF result, WRBUF addinfo);
};
typedef struct recType *RecType;
};
typedef struct recType *RecType;
@@
-196,6
+204,7
@@
YAZ_END_CDECL
/*
* Local variables:
* c-basic-offset: 4
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab