* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zebraapi.c,v $
- * Revision 1.1 1998-03-05 08:45:13 adam
+ * Revision 1.3 1998-05-27 16:57:44 adam
+ * Zebra returns surrogate diagnostic for single records when
+ * appropriate.
+ *
+ * Revision 1.2 1998/05/20 10:12:19 adam
+ * Implemented automatic EXPLAIN database maintenance.
+ * Modified Zebra to work with ASN.1 compiled version of YAZ.
+ *
+ * Revision 1.1 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.
*
zh->registerChange = lastChange;
if (zh->records)
{
- zebraExplain_close (zh->zei, 0);
+ zebraExplain_close (zh->zei, 0, 0);
dict_close (zh->dict);
sortIdx_close (zh->sortIdx);
if (zh->isam)
sizeof (struct it_key), zh->res)))
return -1;
}
- zh->zei = zebraExplain_open (zh->records, zh->dh, 0);
+ zh->zei = zebraExplain_open (zh->records, zh->dh, zh->res, 0, 0, 0);
return 0;
}
zh->registerChange = 0;
zh->records = NULL;
- zh->registered_sets = NULL;
zh->zebra_maps = zebra_maps_open (zh->res);
zh->rank_classes = NULL;
if (zh->records)
{
resultSetDestroy (zh);
- zebraExplain_close (zh->zei, 0);
+ zebraExplain_close (zh->zei, 0, 0);
dict_close (zh->dict);
sortIdx_close (zh->sortIdx);
if (zh->isam)
ZebraPosSet poset;
int i, *pos_array;
+ zh->errCode = 0;
pos_array = xmalloc (sizeof(*pos_array));
for (i = 0; i<num_recs; i++)
pos_array[i] = recs[i].position;
}
else
{
- zh->errCode =
+ recs[i].errCode =
zebra_record_fetch (zh, poset[i].sysno, poset[i].score,
stream, input_format, comp,
&recs[i].format, &recs[i].buf,
&recs[i].len,
&recs[i].base);
+ recs[i].errString = NULL;
}
}
zebraPosSetDestroy (zh, poset, num_recs);
int *position, int *num_entries, ZebraScanEntry **entries,
int *is_partial)
{
+ zh->errCode = 0;
zebra_register_lock (zh);
rpn_scan (zh, stream, zapt, attributeset,
num_bases, basenames, position,