-/* $Id: rpnsearch.c,v 1.10 2007-03-19 21:50:39 adam Exp $
+/* $Id: rpnsearch.c,v 1.11 2007-04-16 08:44:32 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
*/
static int string_relation(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
const char **term_sub, char *term_dict,
- oid_value attributeSet,
+ const int *attributeSet,
int reg_type, int space_split, char *term_dst,
int *error_code)
{
static ZEBRA_RES string_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
const char **term_sub,
- oid_value attributeSet, NMEM stream,
+ const int *attributeSet, NMEM stream,
struct grep_info *grep_info,
int reg_type, int complete_flag,
int num_bases, char **basenames,
static ZEBRA_RES term_trunc(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char **term_sub,
- oid_value attributeSet, NMEM stream,
+ const int *attributeSet, NMEM stream,
struct grep_info *grep_info,
int reg_type, int complete_flag,
int num_bases, char **basenames,
static ZEBRA_RES string_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
const char **term_sub,
- oid_value attributeSet, NMEM stream,
+ const int *attributeSet, NMEM stream,
struct grep_info *grep_info,
int reg_type, int complete_flag,
int num_bases, char **basenames,
static ZEBRA_RES term_list_trunc(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char *termz,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream,
int reg_type, int complete_flag,
const char *rank_type,
static ZEBRA_RES rpn_search_APT_position(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
- oid_value attributeSet,
+ const int *attributeSet,
int reg_type,
int num_bases, char **basenames,
NMEM rset_nmem,
static ZEBRA_RES rpn_search_APT_phrase(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char *termz_org,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream,
int reg_type, int complete_flag,
const char *rank_type,
static ZEBRA_RES rpn_search_APT_or_list(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char *termz_org,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream,
int reg_type, int complete_flag,
const char *rank_type,
static ZEBRA_RES rpn_search_APT_and_list(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char *termz_org,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream,
int reg_type, int complete_flag,
const char *rank_type,
static int numeric_relation(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
const char **term_sub,
char *term_dict,
- oid_value attributeSet,
+ const int *attributeSet,
struct grep_info *grep_info,
int *max_pos,
int reg_type,
static ZEBRA_RES numeric_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
const char **term_sub,
- oid_value attributeSet, NMEM stream,
+ const int *attributeSet, NMEM stream,
struct grep_info *grep_info,
int reg_type, int complete_flag,
int num_bases, char **basenames,
static ZEBRA_RES rpn_search_APT_numeric(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char *termz,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream,
int reg_type, int complete_flag,
const char *rank_type,
static ZEBRA_RES rpn_search_APT_local(ZebraHandle zh,
Z_AttributesPlusTerm *zapt,
const char *termz,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream,
const char *rank_type, NMEM rset_nmem,
RSET *rset,
}
static ZEBRA_RES rpn_sort_spec(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
- oid_value attributeSet, NMEM stream,
+ const int *attributeSet, NMEM stream,
Z_SortKeySpecList *sort_sequence,
const char *rank_type,
NMEM rset_nmem,
AttrType sort_relation_type;
Z_SortKeySpec *sks;
Z_SortKey *sk;
- int oid[OID_SIZE];
- oident oe;
char termz[20];
attr_init_APT(&sort_relation_type, zapt, 7);
i = 0;
sprintf(termz, "%d", i);
- oe.proto = PROTO_Z3950;
- oe.oclass = CLASS_ATTSET;
- oe.value = attributeSet;
- if (!oid_ent_to_oid (&oe, oid))
- return ZEBRA_FAIL;
-
sks = (Z_SortKeySpec *) nmem_malloc(stream, sizeof(*sks));
sks->sortElement = (Z_SortElement *)
nmem_malloc(stream, sizeof(*sks->sortElement));
sk->u.sortAttributes = (Z_SortAttributes *)
nmem_malloc(stream, sizeof(*sk->u.sortAttributes));
- sk->u.sortAttributes->id = oid;
+ sk->u.sortAttributes->id = odr_oiddup_nmem(stream, attributeSet);
sk->u.sortAttributes->list = zapt->attributes;
sks->sortRelation = (int *)
static int rpn_check_xpath(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
- oid_value attributeSet,
+ const int *attributeSet,
struct xpath_location_step *xpath, int max,
NMEM mem)
{
- oid_value curAttributeSet = attributeSet;
+ const int *curAttributeSet = attributeSet;
AttrType use;
const char *use_string = 0;
#define MAX_XPATH_STEPS 10
static ZEBRA_RES rpn_search_APT(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
- oid_value attributeSet, NMEM stream,
+ const int *attributeSet, NMEM stream,
Z_SortKeySpecList *sort_sequence,
int num_bases, char **basenames,
NMEM rset_nmem,
}
static ZEBRA_RES rpn_search_structure(ZebraHandle zh, Z_RPNStructure *zs,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream, NMEM rset_nmem,
Z_SortKeySpecList *sort_sequence,
int num_bases, char **basenames,
}
ZEBRA_RES rpn_search_top(ZebraHandle zh, Z_RPNStructure *zs,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream, NMEM rset_nmem,
Z_SortKeySpecList *sort_sequence,
int num_bases, char **basenames,
}
ZEBRA_RES rpn_search_structure(ZebraHandle zh, Z_RPNStructure *zs,
- oid_value attributeSet,
+ const int *attributeSet,
NMEM stream, NMEM rset_nmem,
Z_SortKeySpecList *sort_sequence,
int num_bases, char **basenames,