result sets in scan (@attr 8=set) is a better way to get terms for a result
set.
-/* $Id: zrpn.c,v 1.222 2006-07-03 10:43:43 adam Exp $
+/* $Id: zrpn.c,v 1.223 2006-07-03 10:52:48 adam Exp $
Copyright (C) 1995-2006
Index Data ApS
Copyright (C) 1995-2006
Index Data ApS
static int log_level_set = 0;
static int log_level_rpn = 0;
static int log_level_set = 0;
static int log_level_rpn = 0;
+#define TERMSET_DISABLE 1
static const char **rpn_char_map_handler(void *vp, const char **from, int len)
{
static const char **rpn_char_map_handler(void *vp, const char **from, int len)
{
assert(*info == sizeof(*p->isam_p_buf));
memcpy(p->isam_p_buf + p->isam_p_indx, info+1, sizeof(*p->isam_p_buf));
assert(*info == sizeof(*p->isam_p_buf));
memcpy(p->isam_p_buf + p->isam_p_indx, info+1, sizeof(*p->isam_p_buf));
if (p->termset)
{
const char *db;
if (p->termset)
{
const char *db;
resultSetAddTerm(p->zh, p->termset, name[len], db,
index_name, term_tmp);
}
resultSetAddTerm(p->zh, p->termset, name[len], db,
index_name, term_tmp);
}
grep_info->zh = zh;
grep_info->reg_type = reg_type;
grep_info->termset = 0;
grep_info->zh = zh;
grep_info->reg_type = reg_type;
grep_info->termset = 0;
if (!zapt)
return ZEBRA_OK;
attr_init_APT(&termset, zapt, 8);
if (!zapt)
return ZEBRA_OK;
attr_init_APT(&termset, zapt, 8);
attr_find_ex(&termset, NULL, &termset_value_string);
if (termset_value_numeric != -1)
{
attr_find_ex(&termset, NULL, &termset_value_string);
if (termset_value_numeric != -1)
{
+#if TERMSET_DISABLE
+ zebra_setError(zh, YAZ_BIB1_UNSUPP_SEARCH, "termset");
+ return ZEBRA_FAIL;
+#else
char resname[32];
const char *termset_name = 0;
if (termset_value_numeric != -2)
char resname[32];
const char *termset_name = 0;
if (termset_value_numeric != -2)
zebra_setError(zh, YAZ_BIB1_ILLEGAL_RESULT_SET_NAME, termset_name);
return ZEBRA_FAIL;
}
zebra_setError(zh, YAZ_BIB1_ILLEGAL_RESULT_SET_NAME, termset_name);
return ZEBRA_FAIL;
}