27#define SORT_STRATEGY_Z3950 0
28#define SORT_STRATEGY_TYPE7 1
29#define SORT_STRATEGY_CQL 2
30#define SORT_STRATEGY_SRU11 3
31#define SORT_STRATEGY_EMBED 4
32#define SORT_STRATEGY_SOLR 5
184 yaz_snprintf(buf,
sizeof(buf),
"can't open CQL transform file '%s': %s",
185 cqlfile, strerror(errno));
237 if (s->refcount == 0)
239 odr_destroy(s->odr_query);
240 odr_destroy(s->odr_sort_spec);
241 xfree(s->query_string);
242 wrbuf_destroy(s->full_query);
243 wrbuf_destroy(s->sru11_sort_spec);
258 xfree(s->query_string);
259 s->query_string =
xstrdup(str);
267 xfree(s->query_string);
268 s->query_string =
xstrdup(str);
308 int *ccl_error, const
char **error_string,
345 if (!strcmp(strategy,
"z3950"))
349 else if (!strcmp(strategy,
"type7"))
353 else if (!strcmp(strategy,
"cql"))
357 else if (!strcmp(strategy,
"sru11"))
361 else if (!strcmp(strategy,
"solr"))
365 else if (!strcmp(strategy,
"embed"))
Header with public definitions for CCL.
struct ccl_qualifiers * CCL_bibset
CCL bibset, AKA profile.
const char * ccl_err_msg(int ccl_errno)
struct ccl_rpn_node * ccl_find_str(CCL_bibset bibset, const char *str, int *error, int *pos)
parse CCL find string using CCL profile return RPN tree
void ccl_rpn_delete(struct ccl_rpn_node *rpn)
void ccl_pquery(WRBUF w, struct ccl_rpn_node *p)
void ccl_qual_buf(CCL_bibset bibset, const char *buf)
CCL_bibset ccl_qual_mk(void)
creates Bibset
void ccl_qual_rm(CCL_bibset *b)
destroys Bibset
struct cql_node * cql_parser_result(CQL_parser cp)
returns the parse tree of the most recently parsed CQL query.
void cql_parser_destroy(CQL_parser cp)
destroys a CQL parser.
CQL_parser cql_parser_create(void)
creates a CQL parser.
Header with public definitions about CQL.
struct cql_transform_t_ * cql_transform_t
CQL transform handle. The transform describes how to convert from CQL to PQF (Type-1 AKA RPN).
struct cql_parser * CQL_parser
CQL parser handle (opaque pointer).
const char * cql_strerror(int code)
returns the CQL message corresponding to a given error code.
int cql_parser_string(CQL_parser cp, const char *str)
parses a CQL query (string)
Header for errno utilities.
ODR odr_createmem(int direction)
void * odr_malloc(ODR o, size_t size)
char * odr_strdup(ODR o, const char *str)
Odr_oid * odr_oiddup(ODR odr, const Odr_oid *o)
const Odr_oid yaz_oid_userinfo_cql[]
Z_RPNQuery * p_query_rpn(ODR o, const char *qbuf)
void yaz_snprintf(char *buf, size_t size, const char *fmt,...)
Header for config file reading utilities.
int yaz_sort_spec_to_type7(Z_SortKeySpecList *sksl, WRBUF pqf)
Z_SortKeySpecList * yaz_sort_spec(ODR out, const char *arg)
parse sort spec string
int yaz_sort_spec_to_solr_sortkeys(Z_SortKeySpecList *sksl, WRBUF w)
int yaz_sort_spec_to_srw_sortkeys(Z_SortKeySpecList *sksl, WRBUF w)
int yaz_sort_spec_to_cql(Z_SortKeySpecList *sksl, WRBUF w)
Header for SortSpec parsing.
Z_SortKeySpecList * sort_spec
structure for all known EXTERNALs
Odr_int * indirect_reference
union Z_External::@173112132151266201036013025012152147264102163302 u
Z_InternationalString * cql
Odr_oid * direct_reference
union Z_Query::@270220245041066023256025363242165325012357336235 u
void wrbuf_destroy(WRBUF b)
destroy WRBUF and its buffer
const char * wrbuf_cstr(WRBUF b)
returns WRBUF content as C-string
void wrbuf_rewind(WRBUF b)
empty WRBUF content (length of buffer set to 0)
WRBUF wrbuf_alloc(void)
construct WRBUF
void wrbuf_printf(WRBUF b, const char *fmt,...)
writes printf result to WRBUF
void wrbuf_vp_puts(const char *buf, void *client_data)
appends C-string to WRBUF - void pointer variant
void wrbuf_puts(WRBUF b, const char *buf)
appends C-string to WRBUF
Header for memory handling functions.
#define xstrdup(s)
utility macro which calls xstrdup_f
#define xfree(x)
utility macro which calls xfree_f
#define xmalloc(x)
utility macro which calls malloc_f
Header for common YAZ utilities.
void ZOOM_set_error(ZOOM_connection c, int error, const char *addinfo)
Internal header for ZOOM implementation.
#define SORT_STRATEGY_EMBED
const char * ZOOM_query_get_sru11(ZOOM_query s)
Z_SortKeySpecList * ZOOM_query_get_sortspec(ZOOM_query s)
ZOOM_query_prefix(ZOOM_query s, const char *str)
#define SORT_STRATEGY_SOLR
static int generate(ZOOM_query s)
#define SORT_STRATEGY_Z3950
#define SORT_STRATEGY_TYPE7
#define SORT_STRATEGY_CQL
void ZOOM_query_get_hash(ZOOM_query s, WRBUF w)
static char * cql2pqf(ZOOM_connection c, const char *cql)
const char * ZOOM_query_get_query_string(ZOOM_query s)
Z_Query * ZOOM_query_get_Z_Query(ZOOM_query s)
ZOOM_query_sortby2(ZOOM_query s, const char *strategy, const char *criteria)
#define SORT_STRATEGY_SRU11
ZOOM_query_destroy(ZOOM_query s)
ZOOM_query_cql(ZOOM_query s, const char *str)
ZOOM_connection_destroy(ZOOM_connection c)
#define ZOOM_ERROR_CQL_PARSE
ZOOM_query_prefix(ZOOM_query s, const char *str)
#define ZOOM_ERROR_CQL_TRANSFORM
ZOOM_connection_option_get(ZOOM_connection c, const char *key)
ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
ZOOM_connection_create(ZOOM_options options)
struct ZOOM_query_p * ZOOM_query
ZOOM_query_ccl2rpn(ZOOM_query s, const char *query_str, const char *config, int *ccl_error, const char **error_string, int *error_pos)
struct ZOOM_connection_p * ZOOM_connection
ZOOM_query_addref(ZOOM_query s)
ZOOM_query_sortby(ZOOM_query s, const char *criteria)
ZOOM_query_sortby2(ZOOM_query s, const char *strategy, const char *criteria)