* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zserver.c,v $
- * Revision 1.15 1995-10-12 12:40:55 adam
+ * Revision 1.18 1995-10-16 14:03:09 quinn
+ * Changes to support element set names and espec1
+ *
+ * Revision 1.17 1995/10/16 09:32:40 adam
+ * More work on relational op.
+ *
+ * Revision 1.16 1995/10/13 12:26:44 adam
+ * Optimization of truncation.
+ *
+ * Revision 1.15 1995/10/12 12:40:55 adam
* Bug fixes in rpn_prox.
*
* Revision 1.14 1995/10/09 16:18:37 adam
}
static int record_fetch (ZServerInfo *zi, int sysno, int score, ODR stream,
- oid_value input_format, oid_value *output_format,
- char **rec_bufp, int *rec_lenp)
+ oid_value input_format, Z_RecordComposition *comp,
+ oid_value *output_format, char **rec_bufp,
+ int *rec_lenp)
{
char record_info[SYS_IDX_ENTRY_LEN];
char *fname, *file_type;
logf (LOG_DEBUG, "retrieve localno=%d score=%d", sysno, score);
if ((retrieveCtrl.fd = open (fname, O_RDONLY)) == -1)
{
+ char *msg = "Record doesn't exist";
logf (LOG_WARN|LOG_ERRNO, "Retrieve: Open record file %s", fname);
- return 14; /* System error in presenting records */
+ *output_format = VAL_SUTRS;
+ *rec_bufp = msg;
+ *rec_lenp = strlen (msg);
+ return 0; /* or 14: System error in presenting records */
}
retrieveCtrl.localno = sysno;
retrieveCtrl.score = score;
retrieveCtrl.odr = stream;
retrieveCtrl.readf = record_read;
retrieveCtrl.input_format = retrieveCtrl.output_format = input_format;
+ retrieveCtrl.comp = comp;
retrieveCtrl.diagnostic = 0;
(*rt->retrieve)(&retrieveCtrl);
*output_format = retrieveCtrl.output_format;
}
r.errcode = record_fetch (&server_info, records[0].sysno,
records[0].score, q->stream,
- q->format, &r.format, &r.record, &r.len);
+ q->format, q->comp, &r.format, &r.record, &r.len);
return &r;
}