-/* $Id: api.h,v 1.45 2007-01-17 13:51:36 adam Exp $
+/* $Id: api.h,v 1.49 2007-05-08 12:50:04 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
#define IDZEBRA_API_H
#include <yaz/odr.h>
-#include <yaz/oid.h>
#include <yaz/proto.h>
#include <idzebra/res.h>
#include <idzebra/version.h>
+#include <idzebra/recctrl.h>
YAZ_BEGIN_CDECL
int position; /* position of record in result set (1,2,..) */
char *buf; /* record buffer (void pointer really) */
int len; /* length */
- oid_value format; /* record syntax */
+ const Odr_oid *format; /* record syntax */
char *base;
zint sysno;
int score;
ZEBRA_RES zebra_records_retrieve(ZebraHandle zh, ODR stream,
const char *setname,
Z_RecordComposition *comp,
- oid_value input_format,
+ const Odr_oid *input_format,
int num_recs,
ZebraRetrievalRecord *recs);
/** \brief Deletes one or more resultsets
*/
YAZ_EXPORT ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream,
Z_AttributesPlusTerm *zapt,
- oid_value attributeset,
+ const Odr_oid *attributeset,
int *position, int *num_entries,
ZebraScanEntry **entries,
int *is_partial,
ZEBRA_RES zebra_admin_import_end(ZebraHandle zh);
YAZ_EXPORT
-ZEBRA_RES zebra_admin_exchange_record(ZebraHandle zh,
- const char *rec_buf,
- size_t rec_len,
- const char *recid_buf, size_t recid_len,
- int action);
-
-YAZ_EXPORT
ZEBRA_RES zebra_begin_trans(ZebraHandle zh, int rw
) ZEBRA_GCC_ATTR((warn_unused_result));
YAZ_EXPORT
ZEBRA_RES zebra_repository_show(ZebraHandle zh, const char *path);
+/** \brief Simple update record
+ \param zh session handle
+ \param buf record buffer
+ \param buf_size record buffer size
+
+ This function is a simple wrapper or zebra_update_record with
+ action=action_update (insert or replace) .
+*/
+YAZ_EXPORT
YAZ_EXPORT
ZEBRA_RES zebra_add_record(ZebraHandle zh, const char *buf, int buf_size);
-YAZ_EXPORT
-ZEBRA_RES zebra_insert_record(ZebraHandle zh,
- const char *recordType,
- zint *sysno, const char *match,
- const char *fname,
- const char *buf, int buf_size,
- int force_update);
+/** \brief Updates record
+ \param zh session handle
+ \param action (insert,replace,delete or update (replace/insert)
+ \param recordType filter type (0 indicates default)
+ \param sysno system id (0 may be passed for no known id)
+ \param match match criteria (0 may be passed for no known criteria)
+ \param fname filename to be printed for logging (0 may be passed)
+ \param buf record buffer
+ \param buf_size record buffer size
+*/
YAZ_EXPORT
ZEBRA_RES zebra_update_record(ZebraHandle zh,
- const char *recordType,
- zint *sysno, const char *match,
- const char *fname,
- const char *buf, int buf_size,
- int force_update);
-YAZ_EXPORT
-ZEBRA_RES zebra_delete_record(ZebraHandle zh,
- const char *recordType,
- zint *sysno, const char *match,
+ enum zebra_recctrl_action_t action,
+ const char *recordType,
+ zint *sysno, const char *match,
const char *fname,
- const char *buf, int buf_size,
- int force_update);
+ const char *buf, int buf_size);
YAZ_EXPORT
ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream,
ZEBRA_RES zebra_set_limit(ZebraHandle zh, int complement_flag, zint *ids);
YAZ_EXPORT
-ZEBRA_RES zebra_set_busy_handler(ZebraHandle zh,
- int (*f)(void *client_data),
- void *client_data);
+ZEBRA_RES zebra_set_break_handler(ZebraHandle zh,
+ int (*f)(void *client_data),
+ void *client_data);
YAZ_END_CDECL