projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added optional, physical ANY
[idzebra-moved-to-github.git]
/
index
/
zrpn.c
diff --git
a/index/zrpn.c
b/index/zrpn.c
index
fe9a6bf
..
03bb798
100644
(file)
--- a/
index/zrpn.c
+++ b/
index/zrpn.c
@@
-4,7
+4,11
@@
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zrpn.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zrpn.c,v $
- * Revision 1.57 1996-11-11 13:38:02 adam
+ * Revision 1.58 1996-12-23 15:30:45 adam
+ * Work on truncation.
+ * Bug fix: result sets weren't deleted after server shut down.
+ *
+ * Revision 1.57 1996/11/11 13:38:02 adam
* Added proximity support in search.
*
* Revision 1.56 1996/11/08 11:10:32 adam
* Added proximity support in search.
*
* Revision 1.56 1996/11/08 11:10:32 adam
@@
-827,7
+831,7
@@
static RSET rpn_search_APT_relevance (ZServerInfo *zi,
parms.key_size = sizeof(struct it_key);
parms.max_rec = 100;
parms.key_size = sizeof(struct it_key);
parms.max_rec = 100;
- parms.cmp = key_compare;
+ parms.cmp = key_compare_it;
parms.is = zi->isam;
parms.isc = zi->isamc;
parms.no_terms = 0;
parms.is = zi->isam;
parms.isc = zi->isamc;
parms.no_terms = 0;
@@
-931,7
+935,7
@@
static RSET rpn_proximity (RSET rset1, RSET rset2, int ordered,
exclusion, ordered, relation, distance);
while (more1 && more2)
{
exclusion, ordered, relation, distance);
while (more1 && more2)
{
- int cmp = key_compare (&buf1, &buf2);
+ int cmp = key_compare_it (&buf1, &buf2);
if (cmp < -1)
more1 = rset_read (rset1, rsfd1, &buf1);
else if (cmp > 1)
if (cmp < -1)
more1 = rset_read (rset1, rsfd1, &buf1);
else if (cmp > 1)
@@
-1046,7
+1050,7
@@
static RSET rpn_prox (RSET *rset, int rset_no)
*more = 0;
break;
}
*more = 0;
break;
}
- cmp = key_compare (buf[i], buf[i-1]);
+ cmp = key_compare_it (buf[i], buf[i-1]);
if (cmp > 1)
{
more[i-1] = rset_read (rset[i-1], rsfd[i-1], buf[i-1]);
if (cmp > 1)
{
more[i-1] = rset_read (rset[i-1], rsfd[i-1], buf[i-1]);
@@
-1286,7
+1290,7
@@
static RSET rpn_search_structure (ZServerInfo *zi, Z_RPNStructure *zs,
if (rset_is_ranked(bool_parms.rset_r))
soft = 1;
bool_parms.key_size = sizeof(struct it_key);
if (rset_is_ranked(bool_parms.rset_r))
soft = 1;
bool_parms.key_size = sizeof(struct it_key);
- bool_parms.cmp = key_compare;
+ bool_parms.cmp = key_compare_it;
switch (zop->which)
{
switch (zop->which)
{
@@
-1369,12
+1373,12
@@
void count_set_save (RSET *r, int *count)
rfd = rset_open (*r, RSETF_READ|RSETF_SORT_SYSNO);
while (rset_read (*r, rfd, &key))
{
rfd = rset_open (*r, RSETF_READ|RSETF_SORT_SYSNO);
while (rset_read (*r, rfd, &key))
{
- logf (LOG_DEBUG, "sysno=%-7d seqno=%d", key.sysno, key.seqno);
if (key.sysno != psysno)
{
if (key.sysno != psysno)
{
- rset_write (w, wfd, &key);
- psysno = key.sysno;
+ if (*count < 400)
+ rset_write (w, wfd, &key);
(*count)++;
(*count)++;
+ psysno = key.sysno;
}
kno++;
}
}
kno++;
}
@@
-1622,7
+1626,7
@@
int rpn_scan (ZServerInfo *zi, Z_AttributesPlusTerm *zapt,
rset_trunc (zi, &scan_info_array[j].list[ptr[j]].isam_p, 1);
bool_parms.key_size = sizeof(struct it_key);
rset_trunc (zi, &scan_info_array[j].list[ptr[j]].isam_p, 1);
bool_parms.key_size = sizeof(struct it_key);
- bool_parms.cmp = key_compare;
+ bool_parms.cmp = key_compare_it;
bool_parms.rset_l = rset;
bool_parms.rset_r = rset2;
bool_parms.rset_l = rset;
bool_parms.rset_r = rset2;
@@
-1683,7
+1687,7
@@
int rpn_scan (ZServerInfo *zi, Z_AttributesPlusTerm *zapt,
&scan_info_array[j].list[before-1-ptr[j]].isam_p, 1);
bool_parms.key_size = sizeof(struct it_key);
&scan_info_array[j].list[before-1-ptr[j]].isam_p, 1);
bool_parms.key_size = sizeof(struct it_key);
- bool_parms.cmp = key_compare;
+ bool_parms.cmp = key_compare_it;
bool_parms.rset_l = rset;
bool_parms.rset_r = rset2;
bool_parms.rset_l = rset;
bool_parms.rset_r = rset2;