From: Adam Dickmeiss Date: Tue, 22 Sep 1998 10:48:18 +0000 (+0000) Subject: Minor changes in search API. X-Git-Tag: ZEBRA.1.0~175 X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=commitdiff_plain;h=e5b0bb88921b593c89dd6ae9077c6566bc8a6a91 Minor changes in search API. --- diff --git a/index/apitest.c b/index/apitest.c index 7af42a5..57c2f74 100644 --- a/index/apitest.c +++ b/index/apitest.c @@ -98,7 +98,7 @@ int main (int argc, char **argv) { /* odr is a handle to memory assocated with RETURNED data from various functions */ - ODR odr; + ODR odr_input, odr_output; /* zh is our Zebra Handle - describes the server as a whole */ ZebraHandle zh; @@ -109,7 +109,8 @@ int main (int argc, char **argv) nmem_init (); - odr = odr_createmem (ODR_ENCODE); + odr_input = odr_createmem (ODR_DECODE); + odr_output = odr_createmem (ODR_ENCODE); /* open Zebra */ zh = zebra_open ("zebra.cfg"); @@ -128,7 +129,7 @@ int main (int argc, char **argv) for (argno = 1; argno < argc; argno++) { /* parse the query and generate an RPN structure */ - Z_RPNQuery *query = p_query_rpn (odr, PROTO_Z3950, argv[argno]); + Z_RPNQuery *query = p_query_rpn (odr_input, PROTO_Z3950, argv[argno]); char setname[64]; int errCode; int i; @@ -141,7 +142,7 @@ int main (int argc, char **argv) if (!query) { logf (LOG_WARN, "bad query %s\n", argv[argno]); - odr_reset (odr); + odr_reset (odr_input); continue; } @@ -149,7 +150,7 @@ int main (int argc, char **argv) sprintf (setname, "%d", i); /* fire up the search */ - zebra_search_rpn (zh, odr, query, 1, &base, setname); + zebra_search_rpn (zh, odr_input, odr_output, query, 1, &base, setname); /* status ... */ errCode = zebra_errCode (zh); @@ -173,16 +174,17 @@ int main (int argc, char **argv) noOfRecordsToFetch = zebra_hits(zh); /* reset our memory - we've finished dealing with search */ - odr_reset (odr); + odr_reset (odr_input); + odr_reset (odr_output); /* prepare to fetch ... */ - records = malloc (sizeof(*records) * noOfRecordsToFetch); + records = odr_malloc (odr_input, sizeof(*records) * noOfRecordsToFetch); /* specify position of each record to fetch */ /* first one is numbered 1 and NOT 0 */ for (i = 0; ierrCode = 0; zh->errString = NULL; zh->hits = 0; diff --git a/index/zserver.c b/index/zserver.c index e3115d6..52ba4f5 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zserver.c,v $ - * Revision 1.63 1998-09-02 13:53:21 adam + * Revision 1.64 1998-09-22 10:48:21 adam + * Minor changes in search API. + * + * Revision 1.63 1998/09/02 13:53:21 adam * Extra parameter decode added to search routines to implement * persistent queries. * @@ -307,7 +310,7 @@ bend_searchresult *bend_search (void *handle, bend_searchrequest *q, int *fd) switch (q->query->which) { case Z_Query_type_1: case Z_Query_type_101: - zebra_search_rpn (zh, q->stream, q->decode, q->query->u.type_1, + zebra_search_rpn (zh, q->decode, q->stream, q->query->u.type_1, q->num_bases, q->basenames, q->setname); r->errcode = zh->errCode; r->errstring = zh->errString; diff --git a/index/zsets.c b/index/zsets.c index 09d6d4e..0935fe1 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zsets.c,v $ - * Revision 1.18 1998-09-22 10:03:45 adam + * Revision 1.19 1998-09-22 10:48:22 adam + * Minor changes in search API. + * + * Revision 1.18 1998/09/22 10:03:45 adam * Changed result sets to be persistent in the sense that they can * be re-searched if needed. * Fixed memory leak in rsm_or. @@ -109,7 +112,7 @@ struct zset_sort_info { struct zset_sort_entry **entries; }; -ZebraSet resultSetAddRPN (ZebraHandle zh, ODR stream, ODR decode, +ZebraSet resultSetAddRPN (ZebraHandle zh, ODR input, ODR output, Z_RPNQuery *rpn, int num_bases, char **basenames, const char *setname) { @@ -127,9 +130,9 @@ ZebraSet resultSetAddRPN (ZebraHandle zh, ODR stream, ODR decode, zebraSet->rpn = 0; zebraSet->num_bases = num_bases; zebraSet->basenames = basenames; - zebraSet->nmem = odr_extract_mem (decode); + zebraSet->nmem = odr_extract_mem (input); - zebraSet->rset = rpn_search (zh, stream->mem, rpn, + zebraSet->rset = rpn_search (zh, output->mem, rpn, zebraSet->num_bases, zebraSet->basenames, zebraSet->name, zebraSet);