23 #include <yaz/yaz-util.h>
105 void (*
f_pos)(
RSFD rfd,
double *current,
double *total);
113 const void *untilbuf);
131 int (*
cmp)(
const void *p1,
const void *p2);
193 int no_children,
RSET *children);
200 #define RSETF_WRITE 1
202 #define rset_open(rs, wflag) (*(rs)->control->f_open)((rs), (wflag))
205 #define rset_forward(rfd, buf, term, untilbuf) \
206 rset_default_forward((rfd), (buf), (term), (untilbuf))
209 #define rset_getterms(ct, terms, maxterms, curterm) \
210 (*(ct)->control->f_getterms)((ct),(terms),(maxterms),(curterm))
213 #define rset_pos(rfd,cur,tot) \
214 (*(rfd)->rset->control->f_pos)((rfd),(cur),(tot))
217 #define rset_read(rfd, buf, term) rset_default_read((rfd), (buf), (term))
220 #define rset_write(rfd, buf) (*(rfd)->rset->control->f_write)((rfd), (buf))
223 #define rset_type(rs) ((rs)->control->desc)
248 int ordered,
int exclusion,
int relation,
int distance);
int rfd_is_last(RSFD rfd)
Test for last use of RFD.
RSET rset_create_base(const struct rset_control *sel, NMEM nmem, struct rset_key_control *kcontrol, int scope, TERMID term, int no_children, RSET *children)
Common constuctor for RSETs.
struct ord_list * ord_list_dup(NMEM nmem, struct ord_list *list)
void rset_delete(RSET rs)
Destructor RSETs.
void rset_set_hits_limit(RSET rs, zint l)
RSET rset_create_or(NMEM nmem, struct rset_key_control *kcontrol, int scope, TERMID termid, int no_rsets, RSET *rsets)
void ord_list_print(struct ord_list *list)
RSET rsisamc_create(NMEM nmem, struct rset_key_control *kcontrol, int scope, ISAMC is, ISAM_P pos, TERMID term)
RSET rset_create_and(NMEM nmem, struct rset_key_control *kcontrol, int scope, int no_rsets, RSET *rsets)
int rset_default_read(RSFD rfd, void *buf, TERMID *term)
RSET rsisamb_create(NMEM nmem, struct rset_key_control *kcontrol, int scope, ISAMB is, ISAM_P pos, TERMID term)
struct rset_term * TERMID
RSET rset_dup(RSET rs)
Duplicate an RSET.
RSET rset_create_not(NMEM nmem, struct rset_key_control *kcontrol, int scope, RSET rset_l, RSET rset_r)
void rset_visit(RSET rset, int level)
int rset_default_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf)
struct ord_list * ord_list_append(NMEM nmem, struct ord_list *list, int ord)
int rset_no_write(RSFD rfd, const void *buf)
struct ord_list * ord_list_create(NMEM nmem)
RSFD rfd_create_base(RSET rs)
Common constuctor for RFDs.
zint rset_count(RSET rs)
Estimates hit count for result set.
RSET rsisams_create(NMEM nmem, struct rset_key_control *kcontrol, int scope, ISAMS is, ISAM_P pos, TERMID term)
TERMID rset_term_create(const char *name, int length, const char *flags, int type, NMEM nmem, struct ord_list *ol, int reg_type, zint hits_limit, const char *ref_id)
Creates a TERMID entry.
RSET rset_create_between(NMEM nmem, struct rset_key_control *kcontrol, int scope, RSET rset_l, RSET rset_m1, RSET rset_m2, RSET rset_r, RSET rset_attr)
RSET rset_create_null(NMEM nmem, struct rset_key_control *kcontrol, TERMID term)
void rset_get_one_term(RSET ct, TERMID *terms, int maxterms, int *curterm)
is a getterms function for those that don't have any
RSET rset_create_temp(NMEM nmem, struct rset_key_control *kcontrol, int scope, const char *temp_path, TERMID term)
void rset_close(RSFD rfd)
Closes a result set RFD handle.
RSET rset_create_prox(NMEM nmem, struct rset_key_control *kcontrol, int scope, int rset_no, RSET *rset, int ordered, int exclusion, int relation, int distance)
int(* f_read)(RSFD rfd, void *buf, TERMID *term)
void(* f_close)(RSFD rfd)
void(* f_delete)(RSET ct)
void(* f_pos)(RSFD rfd, double *current, double *total)
int(* f_write)(RSFD rfd, const void *buf)
RSFD(* f_open)(RSET ct, int wflag)
int(* f_forward)(RSFD rfd, void *buf, TERMID *term, const void *untilbuf)
void(* f_getterms)(RSET ct, TERMID *terms, int maxterms, int *curterm)
void(* dec)(struct rset_key_control *kc)
int(* cmp)(const void *p1, const void *p2)
void(* key_logdump_txt)(int logmask, const void *p, const char *txt)
int(* filter_func)(const void *p, void *data)
void(* inc)(struct rset_key_control *kc)
zint(* getseq)(const void *p)
zint(* get_segment)(const void *p)
const struct rset_control * control
struct rset_key_control * keycontrol