X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzinfo.c;h=b474306016b76c0a322c0fef9a3f6dd105047d69;hb=6d3b83ae7e008f2d61326051b03f7f07d3cc2ef0;hp=69a3bad7d6a015153a7e72d8468615055089ae3b;hpb=9f2cdb515d5ba4c8f0806a3420b73061a8e9cd75;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index 69a3bad..b474306 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -1,4 +1,4 @@ -/* $Id: zinfo.c,v 1.53 2005-12-13 13:47:35 adam Exp $ +/* $Id: zinfo.c,v 1.55 2006-02-20 12:41:42 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -1450,8 +1450,12 @@ int zebraExplain_lookup_ord (ZebraExplainInfo zei, int ord, struct zebDatabaseInfoB *zdb; for (zdb = zei->databaseInfo; zdb; zdb = zdb->next) { - struct zebSUInfoB *zsui = zdb->attributeDetails->SUInfo; - for ( ;zsui; zsui = zsui->next) + struct zebSUInfoB *zsui; + + if (zdb->attributeDetails->readFlag) + zebraExplain_readAttributeDetails (zei, zdb->attributeDetails); + + for (zsui = zdb->attributeDetails->SUInfo; zsui; zsui = zsui->next) if (zsui->info.ordinal == ord) { if (db) @@ -1609,6 +1613,13 @@ static void att_loadset(void *p, const char *n, const char *name) yaz_log(YLOG_WARN, "Directive attset failed for %s", name); } +int zebraExplain_get_database_ord(ZebraExplainInfo zei) +{ + if (!zei->curDatabaseInfo) + return -1; + return zei->curDatabaseInfo->ordinalDatabase; +} + void zebraExplain_loadAttsets (data1_handle dh, Res res) { res_trav(res, "attset", dh, att_loadset);