X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fapi.h;h=4bb7d3fd759ed2c01b1a6818a625d95ceecb6833;hb=6441ecad8fa8d7bab64a58857ea025458aa5332d;hp=17c2ac9329a48d5c8972268c827f56c72f4ea66b;hpb=afa71e9ea1ff3707654936324c30703a618852ff;p=idzebra-moved-to-github.git diff --git a/include/idzebra/api.h b/include/idzebra/api.h index 17c2ac9..4bb7d3f 100644 --- a/include/idzebra/api.h +++ b/include/idzebra/api.h @@ -1,5 +1,5 @@ -/* $Id: api.h,v 1.37 2006-06-07 10:50:08 adam Exp $ - Copyright (C) 1995-2005 +/* $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. @@ -15,9 +15,9 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ /** \file api.h @@ -32,26 +32,13 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define IDZEBRA_API_H #include -#include #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 -*/ - -#ifndef GCC_ATTRIBUTE -#ifdef __GNUC__ -#define GCC_ATTRIBUTE(x) __attribute__ (x) -#else -#define GCC_ATTRIBUTE(x) -#endif -#endif - typedef struct { zint processed; zint inserted; @@ -68,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; @@ -97,7 +84,7 @@ typedef struct zebra_service *ZebraService; */ YAZ_EXPORT ZebraService zebra_start(const char *configName - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); /** \brief Creates a Zebra service with resources. \param configName name of configuration file @@ -110,7 +97,7 @@ ZebraService zebra_start(const char *configName YAZ_EXPORT ZebraService zebra_start_res(const char *configName, Res def_res, Res over_res - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); /** \brief stops a Zebra service. \param zs service handle @@ -140,7 +127,7 @@ void zebra_filter_info(ZebraService zs, void *cd, */ YAZ_EXPORT ZebraHandle zebra_open(ZebraService zs, Res res - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); /** \brief Destroys Zebra session handle. \param zh zebra session handle. @@ -199,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, @@ -217,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 @@ -284,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, @@ -361,19 +364,12 @@ 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 - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); YAZ_EXPORT ZEBRA_RES zebra_end_trans(ZebraHandle zh - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); YAZ_EXPORT ZEBRA_RES zebra_end_transaction(ZebraHandle zh, @@ -400,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, @@ -431,16 +432,16 @@ ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream, const char *output_setname, Z_SortKeySpecList *sort_sequence, int *sort_status - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); YAZ_EXPORT ZEBRA_RES zebra_select_databases(ZebraHandle zh, int num_bases, const char **basenames - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); YAZ_EXPORT ZEBRA_RES zebra_select_database(ZebraHandle zh, const char *basename - ) GCC_ATTRIBUTE((warn_unused_result)); + ) ZEBRA_GCC_ATTR((warn_unused_result)); YAZ_EXPORT void zebra_shadow_enable(ZebraHandle zh, int value); @@ -493,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