-/* $Id: zinfo.c,v 1.73 2006-11-22 11:13:17 adam Exp $
- Copyright (C) 1995-2006
+/* $Id: zinfo.c,v 1.77 2007-02-24 16:47:16 adam Exp $
+ Copyright (C) 1995-2007
Index Data ApS
This file is part of the Zebra server.
#endif
node_tgtinfo = data1_search_tag(zei->dh, zei->data1_target,
"/targetInfo");
+ if (!node_tgtinfo)
+ {
+ yaz_log(YLOG_FATAL, "Node node_tgtinfo missing");
+ nmem_destroy(zei->nmem);
+ return 0;
+ }
zebraExplain_mergeAccessInfo(zei, node_tgtinfo,
&zei->accessInfo);
node_zebra = data1_search_tag(zei->dh, node_tgtinfo->child,
"zebraInfo");
+ if (!node_zebra)
+ {
+ yaz_log(YLOG_FATAL, "Node node_zebra missing");
+ nmem_destroy(zei->nmem);
+ return 0;
+ }
np = 0;
if (node_zebra)
{
zebraExplain_initCommonInfo (zei, node_adinfo);
+ data1_mk_tag_data_text(zei->dh, node_adinfo, "name", database, zei->nmem);
+
return 0;
}
zad->dirty = 0;
#if ZINFO_DEBUG
yaz_log(YLOG_LOG, "zebraExplain_writeAttributeDetails");
+ data1_pr_tree(zei->dh, zad->data1_tree, stderr);
#endif
drec = createRecord (zei->records, &zad->sysno);
"/attributeDetails");
zebraExplain_updateCommonInfo (zei, node_adinfo);
- data1_mk_tag_data_text (zei->dh, node_adinfo, "name",
- databaseName, zei->nmem);
+ /* zebra info (private) .. no children yet.. so se don't index zebraInfo */
+ node_zebra = data1_mk_tag_uni (zei->dh, zei->nmem,
+ "zebraInfo", node_adinfo);
/* extract *searchable* keys from it. We do this here, because
record count, etc. is affected */
if (key_flush)
(*zei->updateFunc)(zei->updateHandle, drec, zad->data1_tree);
- /* zebra info (private) */
- node_zebra = data1_mk_tag_uni (zei->dh, zei->nmem,
- "zebraInfo", node_adinfo);
node_list = data1_mk_tag_uni (zei->dh, zei->nmem,
"attrlist", node_zebra);
for (zsui = zad->SUInfo; zsui; zsui = zsui->next)
zebraExplain_updateCommonInfo (zei, node_dbinfo);
zebraExplain_updateAccessInfo (zei, node_dbinfo, zdi->accessInfo);
- /* extract *searchable* keys from it. We do this here, because
- record count, etc. is affected */
- if (key_flush)
- (*zei->updateFunc)(zei->updateHandle, drec, zdi->data1_database);
/* record count */
node_count = data1_mk_tag_uni (zei->dh, zei->nmem,
"recordCount", node_dbinfo);
/* zebra info (private) */
node_zebra = data1_mk_tag_uni (zei->dh, zei->nmem,
"zebraInfo", node_dbinfo);
+
+ /* extract *searchable* keys from it. We do this here, because
+ record count, etc. is affected */
+ if (key_flush)
+ (*zei->updateFunc)(zei->updateHandle, drec, zdi->data1_database);
data1_mk_tag_data_zint (zei->dh, node_zebra,
"recordBytes", zdi->recordBytes, zei->nmem);
zebraExplain_updateCommonInfo (zei, node_tgtinfo);
zebraExplain_updateAccessInfo (zei, node_tgtinfo, zei->accessInfo);
+ node_zebra = data1_mk_tag_uni (zei->dh, zei->nmem,
+ "zebraInfo", node_tgtinfo);
/* convert to "SGML" and write it */
if (key_flush)
(*zei->updateFunc)(zei->updateHandle, trec, zei->data1_target);
- node_zebra = data1_mk_tag_uni (zei->dh, zei->nmem,
- "zebraInfo", node_tgtinfo);
data1_mk_tag_data_text (zei->dh, node_zebra, "version",
ZEBRAVER, zei->nmem);
node_list = data1_mk_tag (zei->dh, zei->nmem,