Fixes for perform_convert: use xmlParseMemory instead of xmlParseMemory
[idzebra-moved-to-github.git] / index / recgrs.c
index e9283c9..5b0a783 100644 (file)
@@ -1,5 +1,5 @@
-/* $Id: recgrs.c,v 1.10 2006-11-29 18:06:57 adam Exp $
-   Copyright (C) 1995-2006
+/* $Id: recgrs.c,v 1.15 2007-02-02 12:16:38 adam Exp $
+   Copyright (C) 1995-2007
    Index Data ApS
 
 This file is part of the Zebra server.
@@ -27,6 +27,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <yaz/log.h>
 #include <yaz/oid.h>
+#include <yaz/diagbib1.h>
 
 #include <d1_absyn.h>
 #include <idzebra/recgrs.h>
@@ -295,8 +296,6 @@ int d1_check_xpath_predicate(data1_node *n, struct xpath_predicate *p)
                 res = 0;
                 /* looking for the attribute with a specified name */
                 for (attr = n->u.tag.attributes; attr; attr = attr->next) {
-                    yaz_log(YLOG_DEBUG,"  - attribute %s <-> %s", attname, attr->name );
-                    
                     if (!strcmp(attr->name, attname)) {
                         if (p->u.relation.op[0]) {
                             if (*p->u.relation.op != '=') {
@@ -305,8 +304,6 @@ int d1_check_xpath_predicate(data1_node *n, struct xpath_predicate *p)
                                 yaz_log(YLOG_WARN, "predicate %s ignored", p->u.relation.name);
                                 res = 1; break;
                             } else {
-                                yaz_log(YLOG_DEBUG,"    - value %s <-> %s", 
-                                     p->u.relation.value, attr->value );
                                 if (!strcmp(attr->value, p->u.relation.value)) {
                                     res = 1; break;
                                 } 
@@ -317,7 +314,6 @@ int d1_check_xpath_predicate(data1_node *n, struct xpath_predicate *p)
                         }
                     }
                 }
-               yaz_log(YLOG_DEBUG, "return %d", res);
                 return res;
             } else {
                 return 1;
@@ -436,12 +432,8 @@ data1_termlist *xpath_termlist_by_tagpath(char *tagpath, data1_node *n)
                backwards trough xpath location steps ... */
             for (i = xpe->xpath_len - 1; i>0; i--)
            {
-                yaz_log(YLOG_DEBUG, "Checking step %d: %s on tag %s",
-                       i, xp[i].part, nn->u.tag.tag);
-                
                 if (!d1_check_xpath_predicate(nn, xp[i].predicate))
                {
-                    yaz_log(YLOG_DEBUG, "  Predicates didn't match");
                     ok = 0;
                     break;
                 }
@@ -546,6 +538,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n,
     int termlist_only = 1;
     data1_termlist *tl;
     int xpdone = 0;
+
     if (!n->root->u.root.absyn 
         || 
         n->root->u.root.absyn->xpath_indexing == DATA1_XPATH_INDEXING_ENABLE)
@@ -553,6 +546,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n,
        termlist_only = 0;
     }
 
+
     switch (n->which)
     {
     case DATA1N_data:
@@ -593,7 +587,9 @@ static void index_xpath(struct source_parser *sp, data1_node *n,
                     fputc ('\n', stdout);
                 }
                 else
+                {
                     (*p->tokenAdd)(&wrd_tl);
+                }
                 if (wrd_tl.seqno > max_seqno)
                     max_seqno = wrd_tl.seqno;
            }
@@ -1119,7 +1115,7 @@ int zebra_grs_retrieve(void *clientData, struct recRetrieveCtrl *p,
     node = (*grs_read)(&gri);
     if (!node)
     {
-       p->diagnostic = 14;
+       p->diagnostic = YAZ_BIB1_SYSTEM_ERROR_IN_PRESENTING_RECORDS;
         nmem_destroy (mem);
        return 0;
     }
@@ -1195,7 +1191,7 @@ int zebra_grs_retrieve(void *clientData, struct recRetrieveCtrl *p,
                onode = node;
                if (!(node = data1_map_record(p->dh, onode, map, mem)))
                {
-                   p->diagnostic = 14;
+                   p->diagnostic = YAZ_BIB1_SYSTEM_ERROR_IN_PRESENTING_RECORDS;
                    nmem_destroy (mem);
                    return 0;
                }
@@ -1224,7 +1220,7 @@ int zebra_grs_retrieve(void *clientData, struct recRetrieveCtrl *p,
                 onode = node;
                 if (!(node = data1_map_record(p->dh, onode, map, mem)))
                 {
-                    p->diagnostic = 14;
+                    p->diagnostic = YAZ_BIB1_SYSTEM_ERROR_IN_PRESENTING_RECORDS;
                     nmem_destroy (mem);
                     return 0;
                 }