X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=b1d14ef07b173bd82e1647cba523f6823ba403a3;hb=3b728a4683973b29bdb8eef0347cc79b01ff3e93;hp=a6ecfd3bb6566a4d1998af25158bb3370485d0a0;hpb=ce3907338568fce46c5751e7e1091a5ad1c8e291;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index a6ecfd3..b1d14ef 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -4,7 +4,14 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zserver.c,v $ - * Revision 1.56 1998-03-05 08:45:13 adam + * Revision 1.58 1998-05-27 16:57:46 adam + * Zebra returns surrogate diagnostic for single records when + * appropriate. + * + * Revision 1.57 1998/04/03 14:45:18 adam + * Fixed setting of last_in_set in bend_fetch. + * + * Revision 1.56 1998/03/05 08:45:13 adam * New result set model and modular ranking system. Moved towards * descent server API. System information stored as "SGML" records. * @@ -279,15 +286,22 @@ bend_fetchresult *bend_fetch (void *handle, bend_fetchrequest *q, int *num) retrievalRecord.position = q->number; + r->last_in_set = 0; zebra_records_retrieve (zh, q->stream, q->setname, q->comp, q->format, 1, &retrievalRecord); - - if (zh->errCode) + if (zh->errCode) /* non Surrogate Diagnostic */ { r->errcode = zh->errCode; r->errstring = zh->errString; } - else + else if (retrievalRecord.errCode) /* Surrogate Diagnostic */ + { + q->surrogate_flag = 1; + r->errcode = retrievalRecord.errCode; + r->errstring = retrievalRecord.errString; + r->basename = retrievalRecord.base; + } + else /* Database Record */ { r->errcode = 0; r->basename = retrievalRecord.base;