sizeof(*sort_sequence->specs));
for (i = 0; i<sort_sequence->num_specs; i++)
sort_sequence->specs[i] = 0;
sizeof(*sort_sequence->specs));
for (i = 0; i<sort_sequence->num_specs; i++)
sort_sequence->specs[i] = 0;
rpn_get_top_approx_limit(zh, rpn->RPNStructure, &sset->approx_limit);
res = rpn_search_top(zh, rpn->RPNStructure, rpn->attributeSetId,
rpn_get_top_approx_limit(zh, rpn->RPNStructure, &sset->approx_limit);
res = rpn_search_top(zh, rpn->RPNStructure, rpn->attributeSetId,
nmem_malloc(zebraSet->nmem, num_bases * sizeof(*zebraSet->basenames));
for (i = 0; i<num_bases; i++)
zebraSet->basenames[i] = nmem_strdup(zebraSet->nmem, basenames[i]);
nmem_malloc(zebraSet->nmem, num_bases * sizeof(*zebraSet->basenames));
for (i = 0; i<num_bases; i++)
zebraSet->basenames[i] = nmem_strdup(zebraSet->nmem, basenames[i]);
}
void resultSetAddTerm(ZebraHandle zh, ZebraSet s, int reg_type,
}
void resultSetAddTerm(ZebraHandle zh, ZebraSet s, int reg_type,
sizeof(*s->term_entries));
for (i = 0; i < s->term_entries_max; i++)
s->term_entries[i].term = 0;
sizeof(*s->term_entries));
for (i = 0; i < s->term_entries_max; i++)
s->term_entries[i].term = 0;
for (s = zh->sets; s; s = s->next)
if (!strcmp(s->name, name))
break;
for (s = zh->sets; s; s = s->next)
if (!strcmp(s->name, name))
break;
for (i = 0; i<num; i++)
pos[i] = start+i;
mr = zebra_meta_records_create(zh, name, num, pos);
for (i = 0; i<num; i++)
pos[i] = start+i;
mr = zebra_meta_records_create(zh, name, num, pos);
{
char *this_entry_buf = tmp_cmp_buf[i];
memset(this_entry_buf, '\0', SORT_IDX_ENTRYSIZE);
{
char *this_entry_buf = tmp_cmp_buf[i];
memset(this_entry_buf, '\0', SORT_IDX_ENTRYSIZE);
if (criteria[i].ord[database_no] != -1)
{
yaz_log(log_level_sort, "pre zebra_sort_type ord is %d",
if (criteria[i].ord[database_no] != -1)
{
yaz_log(log_level_sort, "pre zebra_sort_type ord is %d",
zebra_term_untrans(zh, index_type, other_entry_org,
other_entry_buf);
diff = atof(this_entry_org) - atof(other_entry_org);
zebra_term_untrans(zh, index_type, other_entry_org,
other_entry_buf);
diff = atof(this_entry_org) - atof(other_entry_org);
nmem_malloc(nset->nmem, nset->num_bases * sizeof(*rset->basenames));
for (i = 0; i<rset->num_bases; i++)
nset->basenames[i] = nmem_strdup(nset->nmem, rset->basenames[i]);
nmem_malloc(nset->nmem, nset->num_bases * sizeof(*rset->basenames));
for (i = 0; i<rset->num_bases; i++)
nset->basenames[i] = nmem_strdup(nset->nmem, rset->basenames[i]);
int numbases = zh->num_basenames;
yaz_log(log_level_sort, "searching %d databases",numbases);
int numbases = zh->num_basenames;
yaz_log(log_level_sort, "searching %d databases",numbases);
sort_criteria[i].ord = (int *)
nmem_malloc(nmem, sizeof(int)*numbases);
sort_criteria[i].numerical = (int *)
nmem_malloc(nmem, sizeof(int)*numbases);
sort_criteria[i].ord = (int *)
nmem_malloc(nmem, sizeof(int)*numbases);
sort_criteria[i].numerical = (int *)
nmem_malloc(nmem, sizeof(int)*numbases);
{
zebraExplain_curDatabase(zh->reg->zei, zh->basenames[ib]);
sort_criteria[i].numerical[ib] = 0;
{
zebraExplain_curDatabase(zh->reg->zei, zh->basenames[ib]);
sort_criteria[i].numerical[ib] = 0;
zebraExplain_lookup_attr_str(zh->reg->zei,
zinfo_index_category_sort,
0, sk->u.sortField);
zebraExplain_lookup_attr_str(zh->reg->zei,
zinfo_index_category_sort,
0, sk->u.sortField);
zebraExplain_curDatabase(zh->reg->zei, zh->basenames[ib]);
if (zebra_sort_get_ord(zh, sk->u.sortAttributes,
&sort_criteria[i].ord[ib],
zebraExplain_curDatabase(zh->reg->zei, zh->basenames[ib]);
if (zebra_sort_get_ord(zh, sk->u.sortAttributes,
&sort_criteria[i].ord[ib],
}
yaz_log(log_level_sort, ZINT_FORMAT " keys, " ZINT_FORMAT " sysnos, sort",
}
yaz_log(log_level_sort, ZINT_FORMAT " keys, " ZINT_FORMAT " sysnos, sort",
for (i = 0; i < numTerms; i++)
yaz_log(log_level_sort, "term=\"%s\" type=%s count=" ZINT_FORMAT,
terms[i]->name, terms[i]->flags, terms[i]->rset->hits_count);
for (i = 0; i < numTerms; i++)
yaz_log(log_level_sort, "term=\"%s\" type=%s count=" ZINT_FORMAT,
terms[i]->name, terms[i]->flags, terms[i]->rset->hits_count);
kno++;
if (log_level_searchhits)
key_logdump_txt(log_level_searchhits, &key, termid->name);
kno++;
if (log_level_searchhits)
key_logdump_txt(log_level_searchhits, &key, termid->name);
TERMID *term_array = xmalloc(num_terms * sizeof(*term_array));
zint *hits_array = xmalloc(num_terms * sizeof(*hits_array));
int *approx_array = xmalloc(num_terms * sizeof(*approx_array));
TERMID *term_array = xmalloc(num_terms * sizeof(*term_array));
zint *hits_array = xmalloc(num_terms * sizeof(*hits_array));
int *approx_array = xmalloc(num_terms * sizeof(*approx_array));
trav_rset_for_termids(sset->rset, term_array,
hits_array, approx_array);
trav_rset_for_termids(sset->rset, term_array,
hits_array, approx_array);
ret = yaz_iconv(zh->iconv_from_utf8, &inbuf, &inleft,
&outbuf, &outleft);
if (ret == (size_t)(-1))
*termlen = 0;
else
{
ret = yaz_iconv(zh->iconv_from_utf8, &inbuf, &inleft,
&outbuf, &outleft);
if (ret == (size_t)(-1))
*termlen = 0;
else
{
- yaz_iconv(zh->iconv_from_utf8, 0, 0,
+ yaz_iconv(zh->iconv_from_utf8, 0, 0,
NMEM nmem = nmem_create();
struct it_key key;
RSET rsets[2], rset_comb;
NMEM nmem = nmem_create();
struct it_key key;
RSET rsets[2], rset_comb;
- RSET rset_temp = rset_create_temp(nmem, kc, kc->scope,
+ RSET rset_temp = rset_create_temp(nmem, kc, kc->scope,
rset_comb = rset_create_and(nmem, kc, kc->scope, 2, rsets);
rsfd = rset_open(rset_comb, RSETF_READ);
rset_comb = rset_create_and(nmem, kc, kc->scope, 2, rsets);
rsfd = rset_open(rset_comb, RSETF_READ);
const char **basenames, int num_bases,
zint recid,
zint *sysnos, int *no_sysnos)
const char **basenames, int num_bases,
zint recid,
zint *sysnos, int *no_sysnos)
r = isamb_pp_forward(pt, &key_found, &key_until);
while (r && key_found.mem[0] == recid)
{
if (sysnos_offset < *no_sysnos)
r = isamb_pp_forward(pt, &key_found, &key_until);
while (r && key_found.mem[0] == recid)
{
if (sysnos_offset < *no_sysnos)
key_found.mem[key_found.len-1];
r = isamb_pp_read(pt, &key_found);
}
key_found.mem[key_found.len-1];
r = isamb_pp_read(pt, &key_found);
}