New set types: sand/sor/snot - ranked versions of and/or/not in
[idzebra-moved-to-github.git] / rset / rset.c
1 /*
2  * Copyright (C) 1994-1995, Index Data I/S 
3  * All rights reserved.
4  * Sebastian Hammer, Adam Dickmeiss
5  *
6  * $Log: rset.c,v $
7  * Revision 1.8  1995-12-11 09:15:23  adam
8  * New set types: sand/sor/snot - ranked versions of and/or/not in
9  * ranked/semi-ranked result sets.
10  * Note: the snot not finished yet.
11  * New rset member: flag.
12  * Bug fix: r_delete in rsrel.c did free bad memory block.
13  *
14  * Revision 1.7  1995/10/12  12:41:56  adam
15  * Private info (buf) moved from struct rset_control to struct rset.
16  * Bug fixes in relevance.
17  *
18  * Revision 1.6  1995/09/08  14:52:41  adam
19  * Work on relevance feedback.
20  *
21  * Revision 1.5  1995/09/07  13:58:43  adam
22  * New parameter: result-set file descriptor (RSFD) to support multiple
23  * positions within the same result-set.
24  * Boolean operators: and, or, not implemented.
25  *
26  * Revision 1.4  1995/09/06  16:11:56  adam
27  * More work on boolean sets.
28  *
29  * Revision 1.3  1995/09/04  15:20:39  adam
30  * More work on temp sets. is_open member removed.
31  *
32  * Revision 1.2  1995/09/04  12:33:56  adam
33  * Various cleanup. YAZ util used instead.
34  *
35  * Revision 1.1  1994/11/04  13:21:28  quinn
36  * Working.
37  *
38  */
39
40 #include <stdio.h>
41 #include <alexutil.h>
42
43 #include <rset.h>
44
45 RSET rset_create(const rset_control *sel, void *parms)
46 {
47     RSET rnew;
48
49     logf (LOG_DEBUG, "rs_create(%s)", sel->desc);
50     rnew = xmalloc(sizeof(*rnew));
51     rnew->control = sel;
52     rnew->flags = 0;
53     rnew->buf = (*sel->f_create)(sel, parms, &rnew->flags);
54     return rnew;
55 }
56
57 void rset_delete (RSET rs)
58 {
59     (*rs->control->f_delete)(rs);
60     xfree(rs);
61 }