X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Frpn2cql.h;h=a7afd0b75b1c2b312d32d24326a7cdaba3cccd84;hp=1eadae112cd54ec21e601ac2d48ea94ff2756877;hb=6dc532f9c0278f7156e2940285247442681ddbf7;hpb=b977948f73d07c0bf4478565f9af3497ffe862e7 diff --git a/include/yaz/rpn2cql.h b/include/yaz/rpn2cql.h index 1eadae1..a7afd0b 100644 --- a/include/yaz/rpn2cql.h +++ b/include/yaz/rpn2cql.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 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: @@ -37,7 +37,25 @@ YAZ_BEGIN_CDECL -/** \brief transforms PQF given a CQL tree +/** \brief transforms RPN query to CQL output stream (re-entrant) + \param ct CQL transform handle + \param addinfo for additional error info + \param pr print function + \param client_data opaque data to be passed to print handler + \param q RPN Query + \retval 0 success + \retval !=0 failure (error code) + */ +YAZ_EXPORT +int cql_transform_rpn2cql_stream_r(cql_transform_t ct, + WRBUF addinfo, + void (*pr)(const char *buf, + void *client_data), + void *client_data, + Z_RPNQuery *q); + + +/** \brief transforms RPN query to CQL output stream (NOT re-entrant) \param ct CQL transform handle \param pr print function \param client_data opaque data to be passed to print handler @@ -52,7 +70,7 @@ int cql_transform_rpn2cql_stream(cql_transform_t ct, Z_RPNQuery *q); -/** \brief transforms PQF given a CQL tree +/** \brief transforms RPN query to CQL WRBUF (NOT re-entrant) \param ct CQL transform handle \param w WRBUF handle for result \param q RPN Query @@ -60,9 +78,18 @@ int cql_transform_rpn2cql_stream(cql_transform_t ct, \retval !=0 failure (error code) */ YAZ_EXPORT -int cql_transform_rpn2cql_wrbuf(cql_transform_t ct, - WRBUF w, - Z_RPNQuery *q); +int cql_transform_rpn2cql_wrbuf(cql_transform_t ct, WRBUF w, Z_RPNQuery *q); + +/** \brief find a pattern that has a subset of attributes + \param ct CQL transform handle + \param category pattern category + \param attributes RPN attributes + \returns pattern value or NULL if not found + */ +YAZ_EXPORT +const char *cql_lookup_reverse(cql_transform_t ct, + const char *category, + Z_AttributeList *attributes); YAZ_END_CDECL @@ -71,6 +98,7 @@ YAZ_END_CDECL /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab