X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fapi.h;h=4bb7d3fd759ed2c01b1a6818a625d95ceecb6833;hb=6441ecad8fa8d7bab64a58857ea025458aa5332d;hp=d01ce21176a20477ab0fbc09853353cc974fdc01;hpb=0f78f3fe78e859d9f0d3f0d3e13fcd28085dd427;p=idzebra-moved-to-github.git diff --git a/include/idzebra/api.h b/include/idzebra/api.h index d01ce21..4bb7d3f 100644 --- a/include/idzebra/api.h +++ b/include/idzebra/api.h @@ -1,5 +1,5 @@ -/* $Id: api.h,v 1.40 2006-11-14 08:12:07 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: api.h,v 1.50 2007-05-09 07:42:46 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -32,10 +32,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define IDZEBRA_API_H #include -#include #include #include #include +#include YAZ_BEGIN_CDECL @@ -55,9 +55,9 @@ typedef struct { 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; - SYSNO sysno; + zint sysno; int score; } ZebraRetrievalRecord; @@ -186,6 +186,22 @@ ZEBRA_RES zebra_search_PQF(ZebraHandle zh, const char *pqf_query, \param query RPN query using YAZ structure \param setname name of resultset \param hits number of hits is returned + \param estimated_hit_count whether hit count is an estimate + \param partial_resultset whether result is only partially evaluated +*/ +YAZ_EXPORT +ZEBRA_RES zebra_search_RPN_x(ZebraHandle zh, ODR o, Z_RPNQuery *query, + const char *setname, zint *hits, + int *estimated_hit_count, + int *partial_resultset); + + +/** \brief Search using RPN Query structure (from ASN.1) + \param zh session handle + \param o ODR handle + \param query RPN query using YAZ structure + \param setname name of resultset + \param hits number of hits is returned */ YAZ_EXPORT ZEBRA_RES zebra_search_RPN(ZebraHandle zh, ODR o, Z_RPNQuery *query, @@ -204,7 +220,7 @@ YAZ_EXPORT 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 @@ -271,7 +287,7 @@ ZEBRA_RES zebra_result_set_term_info(ZebraHandle zh, const char *setname, */ 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, @@ -348,13 +364,6 @@ YAZ_EXPORT 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)); @@ -387,29 +396,34 @@ ZEBRA_RES zebra_repository_delete(ZebraHandle zh, const char *path); 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 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, - SYSNO *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, - SYSNO *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, - SYSNO *sysno, const char *match, const char *fname, - const char *buf, int buf_size, - int force_update); + enum zebra_recctrl_action_t action, + const char *recordType, + zint *sysno, const char *match, + const char *fname, + const char *buf, int buf_size); YAZ_EXPORT ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream, @@ -480,6 +494,11 @@ struct BFiles_struct *zebra_get_bfs(ZebraHandle zh); YAZ_EXPORT ZEBRA_RES zebra_set_limit(ZebraHandle zh, int complement_flag, zint *ids); +YAZ_EXPORT +ZEBRA_RES zebra_set_break_handler(ZebraHandle zh, + int (*f)(void *client_data), + void *client_data); + YAZ_END_CDECL /** \mainpage Zebra