X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.h;h=7bebbad7647acd46a02f3ccf34e60cd7fd1603e9;hb=2d6227440bb26674cab2091b3d79c1934995b762;hp=31ef9c7759421021ec4b83f3b56f268e732b7026;hpb=85a2a0b28cb516d28ac70b7824f2b7d4b07e56ae;p=idzebra-moved-to-github.git diff --git a/index/zserver.h b/index/zserver.h index 31ef9c7..7bebbad 100644 --- a/index/zserver.h +++ b/index/zserver.h @@ -1,10 +1,37 @@ /* - * Copyright (C) 1994-1998, Index Data I/S + * Copyright (C) 1994-1998, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: zserver.h,v $ - * Revision 1.31 1998-05-20 10:12:23 adam + * Revision 1.38 1998-09-22 10:03:44 adam + * Changed result sets to be persistent in the sense that they can + * be re-searched if needed. + * Fixed memory leak in rsm_or. + * + * Revision 1.37 1998/09/02 13:53:22 adam + * Extra parameter decode added to search routines to implement + * persistent queries. + * + * Revision 1.36 1998/06/24 12:16:16 adam + * Support for relations on text operands. Open range support in + * DFA module (i.e. [-j], [g-]). + * + * Revision 1.35 1998/06/23 15:33:35 adam + * Added feature to specify sort criteria in query (type 7 specifies + * sort flags). + * + * Revision 1.34 1998/06/22 11:36:50 adam + * Added authentication check facility to zebra. + * + * Revision 1.33 1998/06/12 12:22:14 adam + * Work on Zebra API. + * + * Revision 1.32 1998/05/27 16:57:47 adam + * Zebra returns surrogate diagnostic for single records when + * appropriate. + * + * Revision 1.31 1998/05/20 10:12:23 adam * Implemented automatic EXPLAIN database maintenance. * Modified Zebra to work with ASN.1 compiled version of YAZ. * @@ -127,7 +154,9 @@ #include #include +#include #include "index.h" +#include "zebraapi.h" #include "zinfo.h" typedef struct { @@ -170,9 +199,9 @@ struct zebra_info { #endif ZebraMaps zebra_maps; ZebraRankClass rank_classes; + Passwd_db passwd_db; }; -typedef struct zebra_info *ZebraHandle; struct rank_control { char *name; @@ -184,16 +213,11 @@ struct rank_control { void (*add)(void *set_handle, int seqno, int term_index); }; -void rpn_search (ZebraHandle zh, ODR stream, +RSET rpn_search (ZebraHandle zh, NMEM mem, Z_RPNQuery *rpn, int num_bases, char **basenames, - const char *setname); + const char *setname, ZebraSet sset); -typedef struct { - int occurrences; - char *term; -} ZebraScanEntry; - void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, oid_value attributeset, int num_bases, char **basenames, @@ -203,9 +227,10 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, RSET rset_trunc (ZebraHandle zh, ISAM_P *isam_p, int no, const char *term, int length_term, const char *flags); -ZebraSet resultSetAdd (ZebraHandle zh, const char *name, - int ov, RSET rset, int *hits); +ZebraSet resultSetAdd (ZebraHandle zh, const char *name, int ov); ZebraSet resultSetGet (ZebraHandle zh, const char *name); +ZebraSet resultSetAddRPN (ZebraHandle zh, ODR stream, ODR decode, Z_RPNQuery *rpn, int num_bases, char **basenames, + const char *setname); RSET resultSetRef (ZebraHandle zh, Z_ResultSetId *resultSetId); void resultSetDestroy (ZebraHandle zh); @@ -213,14 +238,18 @@ ZebraPosSet zebraPosSetCreate (ZebraHandle zh, const char *name, int num, int *positions); void zebraPosSetDestroy (ZebraHandle zh, ZebraPosSet records, int num); -void resultSetSort (ZebraHandle zh, ODR stream, - int num_input_setnames, char **input_setnames, - char *output_setname, Z_SortKeySpecList *sort_sequence, - int *sort_status); +void resultSetSort (ZebraHandle zh, NMEM nmem, + int num_input_setnames, const char **input_setnames, + const char *output_setname, + Z_SortKeySpecList *sort_sequence, int *sort_status); +void resultSetSortSingle (ZebraHandle zh, NMEM nmem, + ZebraSet sset, RSET rset, + Z_SortKeySpecList *sort_sequence, int *sort_status); +void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset); void zebra_sort (ZebraHandle zh, ODR stream, - int num_input_setnames, char **input_setnames, - char *output_setname, Z_SortKeySpecList *sort_sequence, + int num_input_setnames, const char **input_setnames, + const char *output_setname, Z_SortKeySpecList *sort_sequence, int *sort_status); void zlog_rpn (Z_RPNQuery *rpn); @@ -246,34 +275,8 @@ int att_getentbyatt(ZebraHandle zh, attent *res, oid_value set, int att); extern struct rank_control *rank1_class; -ZebraHandle zebra_open (const char *host, const char *configName); -void zebra_search_rpn (ZebraHandle zh, ODR stream, - Z_RPNQuery *query, int num_bases, char **basenames, - const char *setname); - -typedef struct { - int position; - char *buf; - int len; - oid_value format; - char *base; -} ZebraRetrievalRecord; - -void zebra_records_retrieve (ZebraHandle zh, ODR stream, - const char *setname, Z_RecordComposition *comp, - oid_value input_format, - int num_recs, ZebraRetrievalRecord *recs); - int zebra_record_fetch (ZebraHandle zh, int sysno, int score, ODR stream, oid_value input_format, Z_RecordComposition *comp, oid_value *output_format, char **rec_bufp, int *rec_lenp, char **basenamep); -void zebra_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, - oid_value attributeset, - int num_bases, char **basenames, - int *position, int *num_entries, ZebraScanEntry **list, - int *is_partial); - -void zebra_close (ZebraHandle zh); -