X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=index%2Fzinfo.c;h=0565a0069e9dd5117bb34d17cc72213ec5dbe4ed;hb=77686142af94172d1887190ebd47aeb53f704057;hp=989cad8c5e9b6ae160954bf4035cb716508571a4;hpb=1c3797bc503c1e7a109c8887d89d3ddda93bba71;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index 989cad8..0565a00 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -1,10 +1,20 @@ /* - * Copyright (C) 1994-1999, Index Data + * Copyright (C) 1994-2000, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: zinfo.c,v $ - * Revision 1.19 2000-07-07 12:49:20 adam + * Revision 1.22 2001-10-15 19:53:43 adam + * POSIX thread updates. First work on term sets. + * + * Revision 1.21 2000/12/05 10:01:44 adam + * Fixed bug regarding user-defined attribute sets. + * + * Revision 1.20 2000/11/29 14:24:01 adam + * Script configure uses yaz pthreads options. Added locking for + * zebra_register_{lock,unlock}. + * + * Revision 1.19 2000/07/07 12:49:20 adam * Optimized resultSetInsert{Rank,Sort}. * * Revision 1.18 2000/03/20 19:08:36 adam @@ -186,16 +196,11 @@ static data1_node *data1_add_tag (data1_handle dh, data1_node *at, const char *tag, NMEM nmem) { data1_node *partag = get_parent_tag(dh, at); - data1_node *res = data1_mk_node (dh, nmem); + data1_node *res = data1_mk_node_type (dh, nmem, DATA1N_tag); data1_element *e = NULL; res->parent = at; - res->which = DATA1N_tag; res->u.tag.tag = data1_insert_string (dh, res, nmem, tag); - res->u.tag.node_selected = 0; - res->u.tag.make_variantlist = 0; - res->u.tag.no_data_requested = 0; - res->u.tag.get_bytes = -1; if (partag) e = partag->u.tag.element; @@ -763,7 +768,7 @@ static void zebraExplain_readDatabase (ZebraExplainInfo zei, { zdi->recordCount = atoi_n (np->child->u.data.data, np->child->u.data.len); - } + } zdi->readFlag = 0; rec_rm (&rec); } @@ -1370,6 +1375,25 @@ int zebraExplain_lookupSU (ZebraExplainInfo zei, int set, int use) return -1; } +int zebraExplain_lookup_ord (ZebraExplainInfo zei, int ord, + const char **db, int *set, int *use) +{ + struct zebDatabaseInfoB *zdb; + for (zdb = zei->databaseInfo; zdb; zdb = zdb->next) + { + struct zebSUInfoB *zsui = zdb->attributeDetails->SUInfo; + for ( ;zsui; zsui = zsui->next) + if (zsui->info.ordinal == ord) + { + *db = zdb->databaseName; + *set = zsui->info.set; + *use = zsui->info.use; + return 0; + } + } + return -1; +} + zebAccessObject zebraExplain_announceOid (ZebraExplainInfo zei, zebAccessObject *op, Odr_oid *oid)