X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fcql.h;h=f5b6ea90f3e8839d390e4a7a1e367ea4e4192f66;hb=171fd9ec0fba5789a6d14b733f77bbfe90df5512;hp=f74a0951a935741ce2310d6f4e66c7f4734996bd;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292;p=yaz-moved-to-github.git diff --git a/include/yaz/cql.h b/include/yaz/cql.h index f74a095..f5b6ea9 100644 --- a/include/yaz/cql.h +++ b/include/yaz/cql.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data. + * Copyright (C) Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -96,6 +96,16 @@ int cql_parser_stream(CQL_parser cp, YAZ_EXPORT int cql_parser_stdio(CQL_parser cp, FILE *f); +/** \brief configures strict mode + \param cp CQL parser + \param mode 1=enable strict mode, 0=disable strict mode + + This function is similar to cql_parser_string but reads from + stdio FILE handle instead. +*/ +YAZ_EXPORT +void cql_parser_strict(CQL_parser cp, int mode); + /** \brief Node type: search term */ #define CQL_NODE_ST 1 /** \brief Node type: boolean */ @@ -338,6 +348,22 @@ int cql_transform(cql_transform_t ct, void (*pr)(const char *buf, void *client_data), void *client_data); +/** \brief tranforms PQF given a CQL tree + \param ct CQL transform handle + \param cn CQL node tree + \param addinfo additional information (if error) + \param pr print function + \param client_data data to be passed to pr + \retval 0 success + \retval != 0 error code + + The result is written to a user-defined stream. +*/ +int cql_transform_cql2rpn(cql_transform_t ct, struct cql_node *cn, + char **addinfo, + void (*pr)(const char *buf, void *client_data), + void *client_data); + /** \brief transforms PQF given a CQL tree (from FILE) \param ct CQL transform handle \param cn CQL tree