-/* $Id: zserver.c,v 1.123 2004-11-19 10:27:08 heikki Exp $
- Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
- Index Data Aps
+/* $Id: zserver.c,v 1.131 2005-04-15 10:47:49 adam Exp $
+ Copyright (C) 1995-2005
+ Index Data ApS
This file is part of the Zebra server.
02111-1307, USA.
*/
-#include <stdio.h>
#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <fcntl.h>
#ifdef WIN32
#include <io.h>
#endif
#include <errno.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/ill.h>
#include <yaz/yaz-util.h>
charsets[i], right_name);
odr_set_charset (q->stream, right_name, "UTF-8");
if (selected)
- zebra_record_encoding (zh, right_name);
+ zebra_record_encoding(zh, right_name);
+ zebra_octet_term_encoding(zh, right_name);
q->charneg_response =
yaz_set_response_charneg (q->stream, charsets[i],
0, selected);
int bend_search (void *handle, bend_search_rr *r)
{
ZebraHandle zh = (ZebraHandle) handle;
+ zint zhits = 0;
+ ZEBRA_RES res;
r->hits = 0;
r->errcode = 0;
zebra_result (zh, &r->errcode, &r->errstring);
return 0;
}
- yaz_log (YLOG_LOG, "ResultSet '%s'", r->setname);
+ yaz_log (YLOG_DEBUG, "ResultSet '%s'", r->setname);
switch (r->query->which)
{
case Z_Query_type_1: case Z_Query_type_101:
- zebra_search_RPN (zh, r->stream, r->query->u.type_1,
- r->setname, &r->hits);
- zebra_result (zh, &r->errcode, &r->errstring);
- if (!r->errcode)
+ res = zebra_search_RPN (zh, r->stream, r->query->u.type_1,
+ r->setname, &zhits);
+ if (zebra_errCode(zh) == 0)
+ {
+ if (zhits > 2147483646)
+ r->hits = 2147483647;
+ else
+ r->hits = (int) zhits;
search_terms (zh, r);
+ }
+ else
+ zebra_result (zh, &r->errcode, &r->errstring);
break;
case Z_Query_type_2:
r->errcode = 107;
{
ZebraHandle zh = (ZebraHandle) handle;
- rr->delete_status = zebra_deleleResultSet(zh, rr->function,
+ rr->delete_status = zebra_deleteResultSet(zh, rr->function,
rr->num_setnames, rr->setnames,
rr->statuses);
return 0;
}
else
{
- int r = -1;
+ ZEBRA_RES r = ZEBRA_FAIL;
switch(action) {
case 1:
r = zebra_insert_record(
rec->u.octet_aligned->buf,
rec->u.octet_aligned->len,
0);
- if (r)
+ if (r == ZEBRA_FAIL)
{
rr->errcode = 224;
rr->errstring = "insert_record failed";
rec->u.octet_aligned->buf,
rec->u.octet_aligned->len,
1);
- if (r)
+ if (r == ZEBRA_FAIL)
{
rr->errcode = 224;
rr->errstring = "update_record failed";
rec->u.octet_aligned->buf,
rec->u.octet_aligned->len,
0);
- if (r)
+ if (r == ZEBRA_FAIL)
{
rr->errcode = 224;
rr->errstring = "delete_record failed";