Added zebra_scan_PQF.
[idzebra-moved-to-github.git] / index / zebraapi.c
index 481d11a..e6530e7 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: zebraapi.c,v 1.155 2005-03-17 07:54:23 adam Exp $
+/* $Id: zebraapi.c,v 1.157 2005-04-13 08:52:27 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -952,10 +952,28 @@ int zebra_records_retrieve (ZebraHandle zh, ODR stream,
     return ret;
 }
 
+int zebra_scan_PQF(ZebraHandle zh, ODR stream, const char *query,
+                  int *position, int *num_entries, ZebraScanEntry **entries,
+                  int *is_partial)
+{
+    YAZ_PQF_Parser pqf_parser = yaz_pqf_create ();
+    Z_AttributesPlusTerm *zapt;
+    int *attributeSet;
+    
+    if (!(zapt = yaz_pqf_scan(pqf_parser, stream, &attributeSet, query)))
+    {
+       yaz_pqf_destroy (pqf_parser);
+       return -1;
+    }
+    yaz_pqf_destroy (pqf_parser);
+    return zebra_scan(zh, stream, zapt, VAL_BIB1,
+                     position, num_entries, entries, is_partial);
+}
+
 int zebra_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
-                oid_value attributeset,
-                int *position, int *num_entries, ZebraScanEntry **entries,
-                int *is_partial)
+               oid_value attributeset,
+               int *position, int *num_entries, ZebraScanEntry **entries,
+               int *is_partial)
 {
     ASSERTZH;
     assert(stream);
@@ -2159,7 +2177,7 @@ int zebra_sort_by_specstr (ZebraHandle zh, ODR stream,
     return sort_status;
 }
 
-struct BFile_struct *zebra_get_bfs(ZebraHandle zh)
+struct BFiles_struct *zebra_get_bfs(ZebraHandle zh)
 {
     if (zh && zh->reg)
        return zh->reg->bfs;