X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fapi.h;h=8179b4401fdeb427e9f6b1219b5cbdad8c95b19f;hb=21f90a8618faec6bee8d125c12088b74db8eb8b9;hp=429bf098ca1d4d5bef20792193acc1b0de51a117;hpb=592a05fe5502ccdd6c50896eab27f69cd4ed0770;p=idzebra-moved-to-github.git diff --git a/include/idzebra/api.h b/include/idzebra/api.h index 429bf09..8179b44 100644 --- a/include/idzebra/api.h +++ b/include/idzebra/api.h @@ -1,5 +1,5 @@ -/* $Id: api.h,v 1.39 2006-08-22 13:59:02 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: api.h,v 1.47 2007-03-14 11:48:31 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -36,27 +36,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include #include +#include YAZ_BEGIN_CDECL -/** - expand GCC_ATTRIBUTE if GCC is in use. See : - http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html - - To see gcc pre-defines for c: - gcc -E -dM -x c /dev/null -*/ - -#ifdef __GNUC__ -#if __GNUC__ >= 4 -#define ZEBRA_GCC_ATTR(x) __attribute__ (x) -#endif -#endif - -#ifndef ZEBRA_GCC_ATTR -#define ZEBRA_GCC_ATTR(x) -#endif - typedef struct { zint processed; zint inserted; @@ -75,7 +58,7 @@ typedef struct { int len; /* length */ oid_value format; /* record syntax */ char *base; - SYSNO sysno; + zint sysno; int score; } ZebraRetrievalRecord; @@ -204,6 +187,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, @@ -366,13 +365,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)); @@ -405,29 +397,35 @@ 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 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, @@ -498,6 +496,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