Zebra perl API following changes in zebraapi.c/.h (all functions returning
[idzebra-moved-to-github.git] / perl / IDZebra_wrap.c
index 1e8397d..cbf5b83 100644 (file)
@@ -212,7 +212,7 @@ SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
  * perl5.swg
  *
  * Perl5 runtime library
- * $Header: /home/cvsroot/idis/perl/Attic/IDZebra_wrap.c,v 1.8 2003-03-03 00:47:58 pop Exp $
+ * $Header: /home/cvsroot/idis/perl/Attic/IDZebra_wrap.c,v 1.19 2003-07-07 10:59:33 pop Exp $
  * ----------------------------------------------------------------------------- */
 
 #define SWIGPERL
@@ -530,7 +530,7 @@ static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (C
 #define  SWIGTYPE_p_data1_marctab swig_types[29] 
 #define  SWIGTYPE_p_ZebraTransactionStatus swig_types[30] 
 #define  SWIGTYPE_p_Z_BriefBib swig_types[31] 
-#define  SWIGTYPE_p_ScanEntry swig_types[32] 
+#define  SWIGTYPE_p_scanEntry swig_types[32] 
 #define  SWIGTYPE_p_f_p_void_p_char_size_t__int swig_types[33] 
 #define  SWIGTYPE_p_FILE swig_types[34] 
 #define  SWIGTYPE_p_data1_element swig_types[35] 
@@ -566,7 +566,6 @@ SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *);
 
 
 #include "zebraapi.h"
-#include "zebra_api_ext.h"
 #include "zebra_perl.h"
 #include "data1.h"
 #include "yaz/odr.h"
@@ -2099,21 +2098,21 @@ XS(_wrap_delete_RetrievalRecord) {
 }
 
 
-XS(_wrap_ScanEntry_occurrences_set) {
+XS(_wrap_scanEntry_occurrences_set) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
     {
-        ScanEntry *arg1 ;
+        scanEntry *arg1 ;
         int arg2 ;
         int argvi = 0;
         dXSARGS;
         
         if ((items < 2) || (items > 2)) {
-            SWIG_croak("Usage: ScanEntry_occurrences_set(self,occurrences);");
+            SWIG_croak("Usage: scanEntry_occurrences_set(self,occurrences);");
         }
         {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ScanEntry,0) < 0) {
-                SWIG_croak("Type error in argument 1 of ScanEntry_occurrences_set. Expected _p_ScanEntry");
+            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_scanEntry,0) < 0) {
+                SWIG_croak("Type error in argument 1 of scanEntry_occurrences_set. Expected _p_scanEntry");
             }
         }
         arg2 = (int) SvIV(ST(1));
@@ -2128,21 +2127,21 @@ XS(_wrap_ScanEntry_occurrences_set) {
 }
 
 
-XS(_wrap_ScanEntry_occurrences_get) {
+XS(_wrap_scanEntry_occurrences_get) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
     {
-        ScanEntry *arg1 ;
+        scanEntry *arg1 ;
         int result;
         int argvi = 0;
         dXSARGS;
         
         if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: ScanEntry_occurrences_get(self);");
+            SWIG_croak("Usage: scanEntry_occurrences_get(self);");
         }
         {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ScanEntry,0) < 0) {
-                SWIG_croak("Type error in argument 1 of ScanEntry_occurrences_get. Expected _p_ScanEntry");
+            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_scanEntry,0) < 0) {
+                SWIG_croak("Type error in argument 1 of scanEntry_occurrences_get. Expected _p_scanEntry");
             }
         }
         result = (int) ((arg1)->occurrences);
@@ -2157,21 +2156,21 @@ XS(_wrap_ScanEntry_occurrences_get) {
 }
 
 
-XS(_wrap_ScanEntry_term_set) {
+XS(_wrap_scanEntry_term_set) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
     {
-        ScanEntry *arg1 ;
+        scanEntry *arg1 ;
         char *arg2 ;
         int argvi = 0;
         dXSARGS;
         
         if ((items < 2) || (items > 2)) {
-            SWIG_croak("Usage: ScanEntry_term_set(self,term);");
+            SWIG_croak("Usage: scanEntry_term_set(self,term);");
         }
         {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ScanEntry,0) < 0) {
-                SWIG_croak("Type error in argument 1 of ScanEntry_term_set. Expected _p_ScanEntry");
+            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_scanEntry,0) < 0) {
+                SWIG_croak("Type error in argument 1 of scanEntry_term_set. Expected _p_scanEntry");
             }
         }
         if (!SvOK((SV*) ST(1))) arg2 = 0;
@@ -2190,21 +2189,21 @@ XS(_wrap_ScanEntry_term_set) {
 }
 
 
-XS(_wrap_ScanEntry_term_get) {
+XS(_wrap_scanEntry_term_get) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
     {
-        ScanEntry *arg1 ;
+        scanEntry *arg1 ;
         char *result;
         int argvi = 0;
         dXSARGS;
         
         if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: ScanEntry_term_get(self);");
+            SWIG_croak("Usage: scanEntry_term_get(self);");
         }
         {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ScanEntry,0) < 0) {
-                SWIG_croak("Type error in argument 1 of ScanEntry_term_get. Expected _p_ScanEntry");
+            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_scanEntry,0) < 0) {
+                SWIG_croak("Type error in argument 1 of scanEntry_term_get. Expected _p_scanEntry");
             }
         }
         result = (char *) ((arg1)->term);
@@ -2223,21 +2222,21 @@ XS(_wrap_ScanEntry_term_get) {
 }
 
 
-XS(_wrap_new_ScanEntry) {
+XS(_wrap_new_scanEntry) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
     {
-        ScanEntry *result;
+        scanEntry *result;
         int argvi = 0;
         dXSARGS;
         
         if ((items < 0) || (items > 0)) {
-            SWIG_croak("Usage: new_ScanEntry();");
+            SWIG_croak("Usage: new_scanEntry();");
         }
-        result = (ScanEntry *)(ScanEntry *) calloc(1, sizeof(ScanEntry));
+        result = (scanEntry *)(scanEntry *) calloc(1, sizeof(scanEntry));
         
         ST(argvi) = sv_newmortal();
-        SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_ScanEntry,0);
+        SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_scanEntry,0);
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -2246,20 +2245,20 @@ XS(_wrap_new_ScanEntry) {
 }
 
 
-XS(_wrap_delete_ScanEntry) {
+XS(_wrap_delete_scanEntry) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
     {
-        ScanEntry *arg1 ;
+        scanEntry *arg1 ;
         int argvi = 0;
         dXSARGS;
         
         if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: delete_ScanEntry(self);");
+            SWIG_croak("Usage: delete_scanEntry(self);");
         }
         {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ScanEntry,0) < 0) {
-                SWIG_croak("Type error in argument 1 of delete_ScanEntry. Expected _p_ScanEntry");
+            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_scanEntry,0) < 0) {
+                SWIG_croak("Type error in argument 1 of delete_scanEntry. Expected _p_scanEntry");
             }
         }
         free((char *) arg1);
@@ -2452,7 +2451,7 @@ XS(_wrap_ScanObj_entries_set) {
     const char *_swigerr = _swigmsg;
     {
         ScanObj *arg1 ;
-        ScanEntry *arg2 ;
+        scanEntry *arg2 ;
         int argvi = 0;
         dXSARGS;
         
@@ -2465,8 +2464,8 @@ XS(_wrap_ScanObj_entries_set) {
             }
         }
         {
-            if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_ScanEntry,0) < 0) {
-                SWIG_croak("Type error in argument 2 of ScanObj_entries_set. Expected _p_ScanEntry");
+            if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_scanEntry,0) < 0) {
+                SWIG_croak("Type error in argument 2 of ScanObj_entries_set. Expected _p_scanEntry");
             }
         }
         if (arg1) (arg1)->entries = arg2;
@@ -2485,7 +2484,7 @@ XS(_wrap_ScanObj_entries_get) {
     const char *_swigerr = _swigmsg;
     {
         ScanObj *arg1 ;
-        ScanEntry *result;
+        scanEntry *result;
         int argvi = 0;
         dXSARGS;
         
@@ -2497,10 +2496,10 @@ XS(_wrap_ScanObj_entries_get) {
                 SWIG_croak("Type error in argument 1 of ScanObj_entries_get. Expected _p_ScanObj");
             }
         }
-        result = (ScanEntry *) ((arg1)->entries);
+        result = (scanEntry *) ((arg1)->entries);
         
         ST(argvi) = sv_newmortal();
-        SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_ScanEntry,0);
+        SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_scanEntry,0);
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -3011,7 +3010,7 @@ XS(_wrap_logLevel) {
             SWIG_croak("Usage: logLevel(level);");
         }
         arg1 = (int) SvIV(ST(0));
-        logLevel(arg1);
+        yaz_log_init_level(arg1);
         
         
         XSRETURN(argvi);
@@ -3035,7 +3034,7 @@ XS(_wrap_logFile) {
         }
         if (!SvOK((SV*) ST(0))) arg1 = 0;
         else arg1 = (char *) SvPV(ST(0), PL_na);
-        logFile((char const *)arg1);
+        yaz_log_init_file((char const *)arg1);
         
         
         XSRETURN(argvi);
@@ -3072,6 +3071,54 @@ XS(_wrap_logMsg) {
 }
 
 
+XS(_wrap_logPrefix) {
+    char _swigmsg[SWIG_MAX_ERRMSG] = "";
+    const char *_swigerr = _swigmsg;
+    {
+        char *arg1 ;
+        int argvi = 0;
+        dXSARGS;
+        
+        if ((items < 1) || (items > 1)) {
+            SWIG_croak("Usage: logPrefix(prefix);");
+        }
+        if (!SvOK((SV*) ST(0))) arg1 = 0;
+        else arg1 = (char *) SvPV(ST(0), PL_na);
+        yaz_log_init_prefix((char const *)arg1);
+        
+        
+        XSRETURN(argvi);
+        fail:
+        (void) _swigerr;
+    }
+    croak(_swigerr);
+}
+
+
+XS(_wrap_logPrefix2) {
+    char _swigmsg[SWIG_MAX_ERRMSG] = "";
+    const char *_swigerr = _swigmsg;
+    {
+        char *arg1 ;
+        int argvi = 0;
+        dXSARGS;
+        
+        if ((items < 1) || (items > 1)) {
+            SWIG_croak("Usage: logPrefix2(prefix);");
+        }
+        if (!SvOK((SV*) ST(0))) arg1 = 0;
+        else arg1 = (char *) SvPV(ST(0), PL_na);
+        yaz_log_init_prefix2((char const *)arg1);
+        
+        
+        XSRETURN(argvi);
+        fail:
+        (void) _swigerr;
+    }
+    croak(_swigerr);
+}
+
+
 XS(_wrap_odr_createmem) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
@@ -3614,11 +3661,13 @@ XS(_wrap_begin_trans) {
     const char *_swigerr = _swigmsg;
     {
         ZebraHandle arg1 ;
+        int arg2 ;
+        int result;
         int argvi = 0;
         dXSARGS;
         
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: begin_trans(zh);");
+        if ((items < 2) || (items > 2)) {
+            SWIG_croak("Usage: begin_trans(zh,rw);");
         }
         {
             ZebraHandle * argp;
@@ -3627,9 +3676,11 @@ XS(_wrap_begin_trans) {
             }
             arg1 = *argp;
         }
-        zebra_begin_trans(arg1);
-        
+        arg2 = (int) SvIV(ST(1));
+        result = (int)zebra_begin_trans(arg1,arg2);
         
+        ST(argvi) = sv_newmortal();
+        sv_setiv(ST(argvi++), (IV) result);
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -3704,93 +3755,6 @@ XS(_wrap_trans_no) {
 }
 
 
-XS(_wrap_begin_read) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        ZebraHandle arg1 ;
-        int result;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: begin_read(zh);");
-        }
-        {
-            ZebraHandle * argp;
-            if (SWIG_ConvertPtr(ST(0),(void **) &argp, SWIGTYPE_p_ZebraHandle,0) < 0) {
-                SWIG_croak("Type error in argument 1 of begin_read. Expected _p_ZebraHandle");
-            }
-            arg1 = *argp;
-        }
-        result = (int)zebra_begin_read(arg1);
-        
-        ST(argvi) = sv_newmortal();
-        sv_setiv(ST(argvi++), (IV) result);
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_zts_test) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        ZebraTransactionStatus *arg1 ;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: zts_test(stat);");
-        }
-        {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ZebraTransactionStatus,0) < 0) {
-                SWIG_croak("Type error in argument 1 of zts_test. Expected _p_ZebraTransactionStatus");
-            }
-        }
-        zts_test(arg1);
-        
-        
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_end_read) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        ZebraHandle arg1 ;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: end_read(zh);");
-        }
-        {
-            ZebraHandle * argp;
-            if (SWIG_ConvertPtr(ST(0),(void **) &argp, SWIGTYPE_p_ZebraHandle,0) < 0) {
-                SWIG_croak("Type error in argument 1 of end_read. Expected _p_ZebraHandle");
-            }
-            arg1 = *argp;
-        }
-        zebra_end_read(arg1);
-        
-        
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
 XS(_wrap_commit) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
@@ -4060,6 +4024,80 @@ XS(_wrap_repository_show) {
 }
 
 
+XS(_wrap_insert_record) {
+    char _swigmsg[SWIG_MAX_ERRMSG] = "";
+    const char *_swigerr = _swigmsg;
+    {
+        ZebraHandle arg1 ;
+        recordGroup *arg2 ;
+        char *arg3 ;
+        int *arg4 ;
+        char *arg5 ;
+        char *arg6 ;
+        char *arg7 ;
+        int arg8 ;
+        int arg9 ;
+        int result;
+        int dvalue4 ;
+        int argvi = 0;
+        SV * _saved[1] ;
+        dXSARGS;
+        
+        if ((items < 9) || (items > 9)) {
+            SWIG_croak("Usage: insert_record(zh,rGroup,recordType,sysno,match,fname,buf,buf_size,force_update);");
+        }
+        {
+            ZebraHandle * argp;
+            if (SWIG_ConvertPtr(ST(0),(void **) &argp, SWIGTYPE_p_ZebraHandle,0) < 0) {
+                SWIG_croak("Type error in argument 1 of insert_record. Expected _p_ZebraHandle");
+            }
+            arg1 = *argp;
+        }
+        {
+            if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_recordGroup,0) < 0) {
+                SWIG_croak("Type error in argument 2 of insert_record. Expected _p_recordGroup");
+            }
+        }
+        if (!SvOK((SV*) ST(2))) arg3 = 0;
+        else arg3 = (char *) SvPV(ST(2), PL_na);
+        {
+            SV *tempsv;
+            if (!SvROK(ST(3))) {
+                SWIG_croak("expected a reference");
+            }
+            tempsv = SvRV(ST(3));
+            if (!SvIOK(tempsv)) {
+                SWIG_croak("expected a integer reference");
+            }
+            dvalue4 = SvIV(tempsv);
+            arg4 = &dvalue4;
+        }
+        if (!SvOK((SV*) ST(4))) arg5 = 0;
+        else arg5 = (char *) SvPV(ST(4), PL_na);
+        if (!SvOK((SV*) ST(5))) arg6 = 0;
+        else arg6 = (char *) SvPV(ST(5), PL_na);
+        if (!SvOK((SV*) ST(6))) arg7 = 0;
+        else arg7 = (char *) SvPV(ST(6), PL_na);
+        arg8 = (int) SvIV(ST(7));
+        arg9 = (int) SvIV(ST(8));
+        _saved[0] = ST(3);
+        result = (int)zebra_insert_record(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8,arg9);
+        
+        ST(argvi) = sv_newmortal();
+        sv_setiv(ST(argvi++), (IV) result);
+        {
+            SV *tempsv;
+            tempsv = SvRV(_saved[0]);
+            sv_setiv(tempsv, (IV) *arg4);
+        }
+        XSRETURN(argvi);
+        fail:
+        (void) _swigerr;
+    }
+    croak(_swigerr);
+}
+
+
 XS(_wrap_update_record) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
@@ -4067,17 +4105,20 @@ XS(_wrap_update_record) {
         ZebraHandle arg1 ;
         recordGroup *arg2 ;
         char *arg3 ;
-        int arg4 ;
+        int *arg4 ;
         char *arg5 ;
         char *arg6 ;
         char *arg7 ;
         int arg8 ;
+        int arg9 ;
         int result;
+        int dvalue4 ;
         int argvi = 0;
+        SV * _saved[1] ;
         dXSARGS;
         
-        if ((items < 8) || (items > 8)) {
-            SWIG_croak("Usage: update_record(zh,rGroup,recordType,sysno,match,fname,buf,buf_size);");
+        if ((items < 9) || (items > 9)) {
+            SWIG_croak("Usage: update_record(zh,rGroup,recordType,sysno,match,fname,buf,buf_size,force_update);");
         }
         {
             ZebraHandle * argp;
@@ -4093,7 +4134,18 @@ XS(_wrap_update_record) {
         }
         if (!SvOK((SV*) ST(2))) arg3 = 0;
         else arg3 = (char *) SvPV(ST(2), PL_na);
-        arg4 = (int) SvIV(ST(3));
+        {
+            SV *tempsv;
+            if (!SvROK(ST(3))) {
+                SWIG_croak("expected a reference");
+            }
+            tempsv = SvRV(ST(3));
+            if (!SvIOK(tempsv)) {
+                SWIG_croak("expected a integer reference");
+            }
+            dvalue4 = SvIV(tempsv);
+            arg4 = &dvalue4;
+        }
         if (!SvOK((SV*) ST(4))) arg5 = 0;
         else arg5 = (char *) SvPV(ST(4), PL_na);
         if (!SvOK((SV*) ST(5))) arg6 = 0;
@@ -4101,10 +4153,17 @@ XS(_wrap_update_record) {
         if (!SvOK((SV*) ST(6))) arg7 = 0;
         else arg7 = (char *) SvPV(ST(6), PL_na);
         arg8 = (int) SvIV(ST(7));
-        result = (int)zebra_update_record(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8);
+        arg9 = (int) SvIV(ST(8));
+        _saved[0] = ST(3);
+        result = (int)zebra_update_record(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8,arg9);
         
         ST(argvi) = sv_newmortal();
         sv_setiv(ST(argvi++), (IV) result);
+        {
+            SV *tempsv;
+            tempsv = SvRV(_saved[0]);
+            sv_setiv(tempsv, (IV) *arg4);
+        }
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -4120,17 +4179,20 @@ XS(_wrap_delete_record) {
         ZebraHandle arg1 ;
         recordGroup *arg2 ;
         char *arg3 ;
-        int arg4 ;
+        int *arg4 ;
         char *arg5 ;
         char *arg6 ;
         char *arg7 ;
         int arg8 ;
+        int arg9 ;
         int result;
+        int dvalue4 ;
         int argvi = 0;
+        SV * _saved[1] ;
         dXSARGS;
         
-        if ((items < 8) || (items > 8)) {
-            SWIG_croak("Usage: delete_record(zh,rGroup,recordType,sysno,match,fname,buf,buf_size);");
+        if ((items < 9) || (items > 9)) {
+            SWIG_croak("Usage: delete_record(zh,rGroup,recordType,sysno,match,fname,buf,buf_size,force_update);");
         }
         {
             ZebraHandle * argp;
@@ -4146,7 +4208,18 @@ XS(_wrap_delete_record) {
         }
         if (!SvOK((SV*) ST(2))) arg3 = 0;
         else arg3 = (char *) SvPV(ST(2), PL_na);
-        arg4 = (int) SvIV(ST(3));
+        {
+            SV *tempsv;
+            if (!SvROK(ST(3))) {
+                SWIG_croak("expected a reference");
+            }
+            tempsv = SvRV(ST(3));
+            if (!SvIOK(tempsv)) {
+                SWIG_croak("expected a integer reference");
+            }
+            dvalue4 = SvIV(tempsv);
+            arg4 = &dvalue4;
+        }
         if (!SvOK((SV*) ST(4))) arg5 = 0;
         else arg5 = (char *) SvPV(ST(4), PL_na);
         if (!SvOK((SV*) ST(5))) arg6 = 0;
@@ -4154,10 +4227,17 @@ XS(_wrap_delete_record) {
         if (!SvOK((SV*) ST(6))) arg7 = 0;
         else arg7 = (char *) SvPV(ST(6), PL_na);
         arg8 = (int) SvIV(ST(7));
-        result = (int)zebra_delete_record(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8);
+        arg9 = (int) SvIV(ST(8));
+        _saved[0] = ST(3);
+        result = (int)zebra_delete_record(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8,arg9);
         
         ST(argvi) = sv_newmortal();
         sv_setiv(ST(argvi++), (IV) result);
+        {
+            SV *tempsv;
+            tempsv = SvRV(_saved[0]);
+            sv_setiv(tempsv, (IV) *arg4);
+        }
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -4171,16 +4251,17 @@ XS(_wrap_search_PQF) {
     const char *_swigerr = _swigmsg;
     {
         ZebraHandle arg1 ;
-        ODR arg2 ;
-        ODR arg3 ;
-        char *arg4 ;
-        char *arg5 ;
+        char *arg2 ;
+        char *arg3 ;
+        int *arg4 ;
         int result;
+        int dvalue4 ;
         int argvi = 0;
+        SV * _saved[1] ;
         dXSARGS;
         
-        if ((items < 5) || (items > 5)) {
-            SWIG_croak("Usage: search_PQF(zh,odr_input,odr_output,pqf_query,setname);");
+        if ((items < 4) || (items > 4)) {
+            SWIG_croak("Usage: search_PQF(zh,pqf_query,setname,hits);");
         }
         {
             ZebraHandle * argp;
@@ -4189,28 +4270,32 @@ XS(_wrap_search_PQF) {
             }
             arg1 = *argp;
         }
+        if (!SvOK((SV*) ST(1))) arg2 = 0;
+        else arg2 = (char *) SvPV(ST(1), PL_na);
+        if (!SvOK((SV*) ST(2))) arg3 = 0;
+        else arg3 = (char *) SvPV(ST(2), PL_na);
         {
-            ODR * argp;
-            if (SWIG_ConvertPtr(ST(1),(void **) &argp, SWIGTYPE_p_ODR,0) < 0) {
-                SWIG_croak("Type error in argument 2 of search_PQF. Expected _p_ODR");
+            SV *tempsv;
+            if (!SvROK(ST(3))) {
+                SWIG_croak("expected a reference");
             }
-            arg2 = *argp;
-        }
-        {
-            ODR * argp;
-            if (SWIG_ConvertPtr(ST(2),(void **) &argp, SWIGTYPE_p_ODR,0) < 0) {
-                SWIG_croak("Type error in argument 3 of search_PQF. Expected _p_ODR");
+            tempsv = SvRV(ST(3));
+            if (!SvIOK(tempsv)) {
+                SWIG_croak("expected a integer reference");
             }
-            arg3 = *argp;
+            dvalue4 = SvIV(tempsv);
+            arg4 = &dvalue4;
         }
-        if (!SvOK((SV*) ST(3))) arg4 = 0;
-        else arg4 = (char *) SvPV(ST(3), PL_na);
-        if (!SvOK((SV*) ST(4))) arg5 = 0;
-        else arg5 = (char *) SvPV(ST(4), PL_na);
-        result = (int)zebra_search_PQF(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5);
+        _saved[0] = ST(3);
+        result = (int)zebra_search_PQF(arg1,(char const *)arg2,(char const *)arg3,arg4);
         
         ST(argvi) = sv_newmortal();
         sv_setiv(ST(argvi++), (IV) result);
+        {
+            SV *tempsv;
+            tempsv = SvRV(_saved[0]);
+            sv_setiv(tempsv, (IV) *arg4);
+        }
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -4476,6 +4561,75 @@ XS(_wrap_record_retrieve) {
 }
 
 
+XS(_wrap_deleteResultSet) {
+    char _swigmsg[SWIG_MAX_ERRMSG] = "";
+    const char *_swigerr = _swigmsg;
+    {
+        ZebraHandle arg1 ;
+        int arg2 ;
+        int arg3 ;
+        char **arg4 ;
+        int *arg5 ;
+        int result;
+        int argvi = 0;
+        dXSARGS;
+        
+        if ((items < 5) || (items > 5)) {
+            SWIG_croak("Usage: deleteResultSet(zh,function,num_setnames,setnames,statuses);");
+        }
+        {
+            ZebraHandle * argp;
+            if (SWIG_ConvertPtr(ST(0),(void **) &argp, SWIGTYPE_p_ZebraHandle,0) < 0) {
+                SWIG_croak("Type error in argument 1 of deleteResultSet. Expected _p_ZebraHandle");
+            }
+            arg1 = *argp;
+        }
+        arg2 = (int) SvIV(ST(1));
+        arg3 = (int) SvIV(ST(2));
+        {
+            AV *tempav;
+            I32 len;
+            int i;
+            SV  **tv;
+            STRLEN na;
+            if (!SvROK(ST(3)))
+            croak("Argument 4 is not a reference.");
+            if (SvTYPE(SvRV(ST(3))) != SVt_PVAV)
+            croak("Argument 4 is not an array.");
+            tempav = (AV*)SvRV(ST(3));
+            len = av_len(tempav);
+            arg4 = (char **) malloc((len+2)*sizeof(char *));
+            for (i = 0; i <= len; i++) {
+                tv = av_fetch(tempav, i, 0);   
+                arg4[i] = (char *) SvPV(*tv,na);
+            }
+            arg4[i] = NULL;
+        }
+        {
+            int i;
+            if (!SvIOK(ST(4))) 
+            croak("Argument 5 is not an integer.");
+            i = SvIV(ST(4));
+            arg5 = &i;
+        }
+        result = (int)zebra_deleleResultSet(arg1,arg2,arg3,arg4,arg5);
+        
+        ST(argvi) = sv_newmortal();
+        sv_setiv(ST(argvi++), (IV) result);
+        {
+            free(arg4);
+        }
+        XSRETURN(argvi);
+        fail:
+        {
+            free(arg4);
+        }
+        (void) _swigerr;
+    }
+    croak(_swigerr);
+}
+
+
 XS(_wrap_sort) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
@@ -4529,7 +4683,7 @@ XS(_wrap_sort) {
             }
             arg5[i] = NULL;
         }
-        result = (int)sort(arg1,arg2,(char const *)arg3,(char const *)arg4,(char const **)arg5);
+        result = (int)zebra_sort_by_specstr(arg1,arg2,(char const *)arg3,(char const *)arg4,(char const **)arg5);
         
         ST(argvi) = sv_newmortal();
         sv_setiv(ST(argvi++), (IV) result);
@@ -4599,7 +4753,7 @@ XS(_wrap_getScanEntry) {
     {
         ScanObj *arg1 ;
         int arg2 ;
-        ScanEntry *result;
+        scanEntry *result;
         int argvi = 0;
         dXSARGS;
         
@@ -4612,10 +4766,10 @@ XS(_wrap_getScanEntry) {
             }
         }
         arg2 = (int) SvIV(ST(1));
-        result = (ScanEntry *)getScanEntry(arg1,arg2);
+        result = (scanEntry *)getScanEntry(arg1,arg2);
         
         ST(argvi) = sv_newmortal();
-        SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_ScanEntry,0);
+        SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_scanEntry,0);
         XSRETURN(argvi);
         fail:
         (void) _swigerr;
@@ -8241,7 +8395,7 @@ static swig_type_info _swigt__p_Z_ExplainRecord[] = {{"_p_Z_ExplainRecord", 0, "
 static swig_type_info _swigt__p_data1_marctab[] = {{"_p_data1_marctab", 0, "data1_marctab *", 0},{"_p_data1_marctab"},{0}};
 static swig_type_info _swigt__p_ZebraTransactionStatus[] = {{"IDZebra::ZebraTransactionStatus", 0, "ZebraTransactionStatus *", 0},{"IDZebra::ZebraTransactionStatus"},{0}};
 static swig_type_info _swigt__p_Z_BriefBib[] = {{"_p_Z_BriefBib", 0, "Z_BriefBib *", 0},{"_p_Z_BriefBib"},{0}};
-static swig_type_info _swigt__p_ScanEntry[] = {{"IDZebra::ScanEntry", 0, "ScanEntry *", 0},{"IDZebra::ScanEntry"},{0}};
+static swig_type_info _swigt__p_scanEntry[] = {{"IDZebra::scanEntry", 0, "scanEntry *", 0},{"IDZebra::scanEntry"},{0}};
 static swig_type_info _swigt__p_f_p_void_p_char_size_t__int[] = {{"_p_f_p_void_p_char_size_t__int", 0, "int (*)(void *,char *,size_t)", 0},{"_p_f_p_void_p_char_size_t__int"},{0}};
 static swig_type_info _swigt__p_FILE[] = {{"_p_FILE", 0, "FILE *", 0},{"_p_FILE"},{0}};
 static swig_type_info _swigt__p_data1_element[] = {{"_p_data1_element", 0, "data1_element *", 0},{"_p_data1_element"},{0}};
@@ -8287,7 +8441,7 @@ _swigt__p_Z_ExplainRecord,
 _swigt__p_data1_marctab, 
 _swigt__p_ZebraTransactionStatus, 
 _swigt__p_Z_BriefBib, 
-_swigt__p_ScanEntry, 
+_swigt__p_scanEntry, 
 _swigt__p_f_p_void_p_char_size_t__int, 
 _swigt__p_FILE, 
 _swigt__p_data1_element, 
@@ -8404,12 +8558,12 @@ static swig_command_info swig_commands[] = {
 {"IDZebrac::RetrievalRecord_buf_get", _wrap_RetrievalRecord_buf_get},
 {"IDZebrac::new_RetrievalRecord", _wrap_new_RetrievalRecord},
 {"IDZebrac::delete_RetrievalRecord", _wrap_delete_RetrievalRecord},
-{"IDZebrac::ScanEntry_occurrences_set", _wrap_ScanEntry_occurrences_set},
-{"IDZebrac::ScanEntry_occurrences_get", _wrap_ScanEntry_occurrences_get},
-{"IDZebrac::ScanEntry_term_set", _wrap_ScanEntry_term_set},
-{"IDZebrac::ScanEntry_term_get", _wrap_ScanEntry_term_get},
-{"IDZebrac::new_ScanEntry", _wrap_new_ScanEntry},
-{"IDZebrac::delete_ScanEntry", _wrap_delete_ScanEntry},
+{"IDZebrac::scanEntry_occurrences_set", _wrap_scanEntry_occurrences_set},
+{"IDZebrac::scanEntry_occurrences_get", _wrap_scanEntry_occurrences_get},
+{"IDZebrac::scanEntry_term_set", _wrap_scanEntry_term_set},
+{"IDZebrac::scanEntry_term_get", _wrap_scanEntry_term_get},
+{"IDZebrac::new_scanEntry", _wrap_new_scanEntry},
+{"IDZebrac::delete_scanEntry", _wrap_delete_scanEntry},
 {"IDZebrac::ScanObj_num_entries_set", _wrap_ScanObj_num_entries_set},
 {"IDZebrac::ScanObj_num_entries_get", _wrap_ScanObj_num_entries_get},
 {"IDZebrac::ScanObj_position_set", _wrap_ScanObj_position_set},
@@ -8438,6 +8592,8 @@ static swig_command_info swig_commands[] = {
 {"IDZebrac::logLevel", _wrap_logLevel},
 {"IDZebrac::logFile", _wrap_logFile},
 {"IDZebrac::logMsg", _wrap_logMsg},
+{"IDZebrac::logPrefix", _wrap_logPrefix},
+{"IDZebrac::logPrefix2", _wrap_logPrefix2},
 {"IDZebrac::odr_createmem", _wrap_odr_createmem},
 {"IDZebrac::odr_reset", _wrap_odr_reset},
 {"IDZebrac::odr_destroy", _wrap_odr_destroy},
@@ -8457,9 +8613,6 @@ static swig_command_info swig_commands[] = {
 {"IDZebrac::begin_trans", _wrap_begin_trans},
 {"IDZebrac::end_trans", _wrap_end_trans},
 {"IDZebrac::trans_no", _wrap_trans_no},
-{"IDZebrac::begin_read", _wrap_begin_read},
-{"IDZebrac::zts_test", _wrap_zts_test},
-{"IDZebrac::end_read", _wrap_end_read},
 {"IDZebrac::commit", _wrap_commit},
 {"IDZebrac::get_shadow_enable", _wrap_get_shadow_enable},
 {"IDZebrac::set_shadow_enable", _wrap_set_shadow_enable},
@@ -8468,6 +8621,7 @@ static swig_command_info swig_commands[] = {
 {"IDZebrac::repository_update", _wrap_repository_update},
 {"IDZebrac::repository_delete", _wrap_repository_delete},
 {"IDZebrac::repository_show", _wrap_repository_show},
+{"IDZebrac::insert_record", _wrap_insert_record},
 {"IDZebrac::update_record", _wrap_update_record},
 {"IDZebrac::delete_record", _wrap_delete_record},
 {"IDZebrac::search_PQF", _wrap_search_PQF},
@@ -8477,6 +8631,7 @@ static swig_command_info swig_commands[] = {
 {"IDZebrac::cql2pqf", _wrap_cql2pqf},
 {"IDZebrac::records_retrieve", _wrap_records_retrieve},
 {"IDZebrac::record_retrieve", _wrap_record_retrieve},
+{"IDZebrac::deleteResultSet", _wrap_deleteResultSet},
 {"IDZebrac::sort", _wrap_sort},
 {"IDZebrac::scan_PQF", _wrap_scan_PQF},
 {"IDZebrac::getScanEntry", _wrap_getScanEntry},
@@ -8629,7 +8784,7 @@ XS(SWIG_init) {
     SWIG_TypeClientData(SWIGTYPE_p_recordGroup, (void*) "IDZebra::recordGroup");
     SWIG_TypeClientData(SWIGTYPE_p_RetrievalObj, (void*) "IDZebra::RetrievalObj");
     SWIG_TypeClientData(SWIGTYPE_p_RetrievalRecord, (void*) "IDZebra::RetrievalRecord");
-    SWIG_TypeClientData(SWIGTYPE_p_ScanEntry, (void*) "IDZebra::ScanEntry");
+    SWIG_TypeClientData(SWIGTYPE_p_scanEntry, (void*) "IDZebra::scanEntry");
     SWIG_TypeClientData(SWIGTYPE_p_ScanObj, (void*) "IDZebra::ScanObj");
     SWIG_TypeClientData(SWIGTYPE_p_ZebraTransactionStatus, (void*) "IDZebra::ZebraTransactionStatus");
     ST(0) = &PL_sv_yes;