Remove log message from zebra_recid_to_sysno
[idzebra-moved-to-github.git] / index / rpnsearch.c
index c3d0544..ed114a3 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rpnsearch.c,v 1.24 2007-11-30 12:19:08 adam Exp $
+/* $Id: rpnsearch.c,v 1.26 2007-12-03 14:33:22 adam Exp $
    Copyright (C) 1995-2007
    Index Data ApS
 
@@ -1345,13 +1345,6 @@ static ZEBRA_RES rpn_search_APT_position(ZebraHandle zh,
         return ZEBRA_FAIL;
     }
 
-    if (!zh->reg->isamb && !zh->reg->isamc)
-    {
-        zebra_setError_zint(zh, YAZ_BIB1_UNSUPP_POSITION_ATTRIBUTE,
-                            position_value);
-        return ZEBRA_FAIL;
-    }
-
     if (zebra_apt_get_ord(zh, zapt, index_type, 0,
                           attributeSet, &ord) != ZEBRA_OK)
     {
@@ -1365,13 +1358,9 @@ static ZEBRA_RES rpn_search_APT_position(ZebraHandle zh,
     {
         assert(*val == sizeof(ISAM_P));
         memcpy(&isam_p, val+1, sizeof(isam_p));
-        
-        if (zh->reg->isamb)
-            *rset = rsisamb_create(rset_nmem, kc, kc->scope,
-                                   zh->reg->isamb, isam_p, 0);
-        else if (zh->reg->isamc)
-            *rset = rsisamc_create(rset_nmem, kc, kc->scope,
-                                   zh->reg->isamc, isam_p, 0);
+
+        *rset = zebra_create_rset_isam(zh, rset_nmem, kc, kc->scope, 
+                                       isam_p, 0);
     }
     return ZEBRA_OK;
 }
@@ -1408,7 +1397,12 @@ static ZEBRA_RES rpn_search_APT_phrase(ZebraHandle zh,
                                       rset_nmem, &first_set,
                                       kc);
         if (res != ZEBRA_OK)
+        {
+            int i;
+            for (i = 0; i<num_result_sets; i++)
+                rset_delete(result_sets[i]);
             return res;
+        }
         if (first_set)
         {
             RSET *nsets = nmem_malloc(stream,