* Copyright (c) 1998-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-cql2rpn.cpp,v 1.9 2006-03-29 13:14:15 adam Exp $
+ * $Id: yaz-cql2rpn.cpp,v 1.14 2007-03-20 07:54:11 adam Exp $
*/
#include <yaz/log.h>
m_transform = cql_transform_open_fname(fname);
}
+
+bool Yaz_cql2rpn::parse_spec_file(const char *fname, int *error)
+{
+ *error = 0;
+ cql_transform_close(m_transform);
+ m_transform = cql_transform_open_fname(fname);
+ return m_transform ? true : false;
+}
+
int Yaz_cql2rpn::query_transform(const char *cql_query,
Z_RPNQuery **rpnquery, ODR o,
char **addinfop)
int r = cql_parser_string(cp, cql_query);
if (r)
{
- yaz_log(YLOG_LOG, "CQL Parse Error");
r = 10;
}
else
{
- char rpn_buf[1024];
+ char rpn_buf[10240];
r = cql_transform_buf(m_transform, cql_parser_result(cp),
rpn_buf, sizeof(rpn_buf)-1);
if (!r)
{
size_t off;
const char *pqf_msg;
- int code = yaz_pqf_error(pp, &pqf_msg, &off);
- yaz_log(YLOG_WARN, "PQF Parser Error %s (code %d)",
- pqf_msg, code);
+ yaz_pqf_error(pp, &pqf_msg, &off);
r = -1;
}
yaz_pqf_destroy(pp);
else
{
r = cql_transform_error(m_transform, &addinfo);
- yaz_log(YLOG_LOG, "CQL Transform Error %d %s", r,
- addinfo ? addinfo : "");
}
}
cql_parser_destroy(cp);