Zebra perl API following changes in zebraapi.c/.h (all functions returning
[idzebra-moved-to-github.git] / perl / IDZebra_wrap.c
index efbe3b8..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.11 2003-03-04 23:05:31 pop Exp $
+ * $Header: /home/cvsroot/idis/perl/Attic/IDZebra_wrap.c,v 1.19 2003-07-07 10:59:33 pop Exp $
  * ----------------------------------------------------------------------------- */
 
 #define SWIGPERL
@@ -1549,187 +1549,6 @@ XS(_wrap_delete_RetrievalObj) {
 }
 
 
-XS(_wrap_RetrievalRecordBuf_buf_set) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        RetrievalRecordBuf *arg1 ;
-        char *arg2 ;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 2) || (items > 2)) {
-            SWIG_croak("Usage: RetrievalRecordBuf_buf_set(self,buf);");
-        }
-        {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_RetrievalRecordBuf,0) < 0) {
-                SWIG_croak("Type error in argument 1 of RetrievalRecordBuf_buf_set. Expected _p_RetrievalRecordBuf");
-            }
-        }
-        if (!SvOK((SV*) ST(1))) arg2 = 0;
-        else arg2 = (char *) SvPV(ST(1), PL_na);
-        {
-            if (arg1->buf) free((char*)arg1->buf);
-            arg1->buf = (char *) malloc(strlen(arg2)+1);
-            strcpy((char*)arg1->buf,arg2);
-        }
-        
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_RetrievalRecordBuf_buf_get) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        RetrievalRecordBuf *arg1 ;
-        char *result;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: RetrievalRecordBuf_buf_get(self);");
-        }
-        {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_RetrievalRecordBuf,0) < 0) {
-                SWIG_croak("Type error in argument 1 of RetrievalRecordBuf_buf_get. Expected _p_RetrievalRecordBuf");
-            }
-        }
-        result = (char *) ((arg1)->buf);
-        
-        ST(argvi) = sv_newmortal();
-        if (result) {
-            sv_setpv((SV*)ST(argvi++), (char *) result);
-        }else {
-            sv_setsv((SV*)ST(argvi++), &PL_sv_undef);
-        }
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_RetrievalRecordBuf_len_set) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        RetrievalRecordBuf *arg1 ;
-        int arg2 ;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 2) || (items > 2)) {
-            SWIG_croak("Usage: RetrievalRecordBuf_len_set(self,len);");
-        }
-        {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_RetrievalRecordBuf,0) < 0) {
-                SWIG_croak("Type error in argument 1 of RetrievalRecordBuf_len_set. Expected _p_RetrievalRecordBuf");
-            }
-        }
-        arg2 = (int) SvIV(ST(1));
-        if (arg1) (arg1)->len = arg2;
-        
-        
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_RetrievalRecordBuf_len_get) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        RetrievalRecordBuf *arg1 ;
-        int result;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: RetrievalRecordBuf_len_get(self);");
-        }
-        {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_RetrievalRecordBuf,0) < 0) {
-                SWIG_croak("Type error in argument 1 of RetrievalRecordBuf_len_get. Expected _p_RetrievalRecordBuf");
-            }
-        }
-        result = (int) ((arg1)->len);
-        
-        ST(argvi) = sv_newmortal();
-        sv_setiv(ST(argvi++), (IV) result);
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_new_RetrievalRecordBuf) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        RetrievalRecordBuf *result;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 0) || (items > 0)) {
-            SWIG_croak("Usage: new_RetrievalRecordBuf();");
-        }
-        result = (RetrievalRecordBuf *)(RetrievalRecordBuf *) calloc(1, sizeof(RetrievalRecordBuf));
-        
-        {
-            if (result->len) {
-                ST(argvi) = newSVpv(result->buf,result->len);
-            }else {
-                ST(argvi) = newSVpv("",0);
-            }
-            sv_2mortal(ST(argvi));
-            argvi++;
-        }
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
-XS(_wrap_delete_RetrievalRecordBuf) {
-    char _swigmsg[SWIG_MAX_ERRMSG] = "";
-    const char *_swigerr = _swigmsg;
-    {
-        RetrievalRecordBuf *arg1 ;
-        int argvi = 0;
-        dXSARGS;
-        
-        if ((items < 1) || (items > 1)) {
-            SWIG_croak("Usage: delete_RetrievalRecordBuf(self);");
-        }
-        {
-            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_RetrievalRecordBuf,0) < 0) {
-                SWIG_croak("Type error in argument 1 of delete_RetrievalRecordBuf. Expected _p_RetrievalRecordBuf");
-            }
-        }
-        free((char *) arg1);
-        
-        
-        XSRETURN(argvi);
-        fail:
-        (void) _swigerr;
-    }
-    croak(_swigerr);
-}
-
-
 XS(_wrap_RetrievalRecord_errCode_set) {
     char _swigmsg[SWIG_MAX_ERRMSG] = "";
     const char *_swigerr = _swigmsg;
@@ -3191,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);
@@ -3215,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);
@@ -3252,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;
@@ -3794,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;
@@ -3807,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;
@@ -3884,66 +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_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;
@@ -4213,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;
@@ -4220,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;
@@ -4246,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;
@@ -4254,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;
@@ -4273,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;
@@ -4299,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;
@@ -4307,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;
@@ -4324,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;
@@ -4342,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;
@@ -4751,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);
@@ -5426,11 +5358,9 @@ XS(_wrap_data1_nodetogr) {
             arg4 = *argp;
         }
         {
-            int i;
-            if (!SvIOK(ST(4))) 
-            croak("Argument 5 is not an integer.");
-            i = SvIV(ST(4));
-            arg5 = &i;
+            if (SWIG_ConvertPtr(ST(4), (void **) &arg5, SWIGTYPE_p_int,0) < 0) {
+                SWIG_croak("Type error in argument 5 of data1_nodetogr. Expected _p_int");
+            }
         }
         result = (Z_GenericRecord *)data1_nodetogr(arg1,arg2,arg3,arg4,arg5);
         
@@ -5548,11 +5478,9 @@ XS(_wrap_data1_nodetobuf) {
         }
         arg3 = (int) SvIV(ST(2));
         {
-            int i;
-            if (!SvIOK(ST(3))) 
-            croak("Argument 4 is not an integer.");
-            i = SvIV(ST(3));
-            arg4 = &i;
+            if (SWIG_ConvertPtr(ST(3), (void **) &arg4, SWIGTYPE_p_int,0) < 0) {
+                SWIG_croak("Type error in argument 4 of data1_nodetobuf. Expected _p_int");
+            }
         }
         result = (char *)data1_nodetobuf(arg1,arg2,arg3,arg4);
         
@@ -7124,11 +7052,9 @@ XS(_wrap_data1_nodetomarc) {
         }
         arg4 = (int) SvIV(ST(3));
         {
-            int i;
-            if (!SvIOK(ST(4))) 
-            croak("Argument 5 is not an integer.");
-            i = SvIV(ST(4));
-            arg5 = &i;
+            if (SWIG_ConvertPtr(ST(4), (void **) &arg5, SWIGTYPE_p_int,0) < 0) {
+                SWIG_croak("Type error in argument 5 of data1_nodetomarc. Expected _p_int");
+            }
         }
         result = (char *)data1_nodetomarc(arg1,arg2,arg3,arg4,arg5);
         
@@ -7175,11 +7101,9 @@ XS(_wrap_data1_nodetoidsgml) {
         }
         arg3 = (int) SvIV(ST(2));
         {
-            int i;
-            if (!SvIOK(ST(3))) 
-            croak("Argument 4 is not an integer.");
-            i = SvIV(ST(3));
-            arg4 = &i;
+            if (SWIG_ConvertPtr(ST(3), (void **) &arg4, SWIGTYPE_p_int,0) < 0) {
+                SWIG_croak("Type error in argument 4 of data1_nodetoidsgml. Expected _p_int");
+            }
         }
         result = (char *)data1_nodetoidsgml(arg1,arg2,arg3,arg4);
         
@@ -7320,11 +7244,9 @@ XS(_wrap_data1_nodetosoif) {
         }
         arg3 = (int) SvIV(ST(2));
         {
-            int i;
-            if (!SvIOK(ST(3))) 
-            croak("Argument 4 is not an integer.");
-            i = SvIV(ST(3));
-            arg4 = &i;
+            if (SWIG_ConvertPtr(ST(3), (void **) &arg4, SWIGTYPE_p_int,0) < 0) {
+                SWIG_croak("Type error in argument 4 of data1_nodetosoif. Expected _p_int");
+            }
         }
         result = (char *)data1_nodetosoif(arg1,arg2,arg3,arg4);
         
@@ -8459,7 +8381,7 @@ static swig_type_info _swigt__p_Z_Espec1[] = {{"_p_Z_Espec1", 0, "Z_Espec1 *", 0
 static swig_type_info _swigt__p_off_t[] = {{"_p_off_t", 0, "off_t *", 0},{"_p_off_t"},{0}};
 static swig_type_info _swigt__p_Odr_oid[] = {{"_p_Odr_oid", 0, "Odr_oid *", 0},{"_p_Odr_oid"},{0}};
 static swig_type_info _swigt__p_data1_varset[] = {{"_p_data1_varset", 0, "data1_varset *", 0},{"_p_data1_varset"},{0}};
-static swig_type_info _swigt__p_RetrievalRecordBuf[] = {{"IDZebra::RetrievalRecordBuf", 0, "RetrievalRecordBuf *", 0},{"IDZebra::RetrievalRecordBuf"},{0}};
+static swig_type_info _swigt__p_RetrievalRecordBuf[] = {{"_p_RetrievalRecordBuf", 0, "RetrievalRecordBuf *", 0},{"_p_RetrievalRecordBuf"},{0}};
 static swig_type_info _swigt__p_perl_context[] = {{"_p_perl_context", 0, "struct perl_context *", 0},{"_p_perl_context"},{0}};
 static swig_type_info _swigt__p_data1_node[] = {{"_p_data1_node", 0, "data1_node *", 0},{"_p_data1_node"},{0}};
 static swig_type_info _swigt__p_ScanObj[] = {{"IDZebra::ScanObj", 0, "ScanObj *", 0},{"IDZebra::ScanObj"},{0}};
@@ -8618,12 +8540,6 @@ static swig_command_info swig_commands[] = {
 {"IDZebrac::RetrievalObj_records_get", _wrap_RetrievalObj_records_get},
 {"IDZebrac::new_RetrievalObj", _wrap_new_RetrievalObj},
 {"IDZebrac::delete_RetrievalObj", _wrap_delete_RetrievalObj},
-{"IDZebrac::RetrievalRecordBuf_buf_set", _wrap_RetrievalRecordBuf_buf_set},
-{"IDZebrac::RetrievalRecordBuf_buf_get", _wrap_RetrievalRecordBuf_buf_get},
-{"IDZebrac::RetrievalRecordBuf_len_set", _wrap_RetrievalRecordBuf_len_set},
-{"IDZebrac::RetrievalRecordBuf_len_get", _wrap_RetrievalRecordBuf_len_get},
-{"IDZebrac::new_RetrievalRecordBuf", _wrap_new_RetrievalRecordBuf},
-{"IDZebrac::delete_RetrievalRecordBuf", _wrap_delete_RetrievalRecordBuf},
 {"IDZebrac::RetrievalRecord_errCode_set", _wrap_RetrievalRecord_errCode_set},
 {"IDZebrac::RetrievalRecord_errCode_get", _wrap_RetrievalRecord_errCode_get},
 {"IDZebrac::RetrievalRecord_errString_set", _wrap_RetrievalRecord_errString_set},
@@ -8676,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},
@@ -8695,8 +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::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},
@@ -8705,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},
@@ -8866,7 +8783,6 @@ XS(SWIG_init) {
     
     SWIG_TypeClientData(SWIGTYPE_p_recordGroup, (void*) "IDZebra::recordGroup");
     SWIG_TypeClientData(SWIGTYPE_p_RetrievalObj, (void*) "IDZebra::RetrievalObj");
-    SWIG_TypeClientData(SWIGTYPE_p_RetrievalRecordBuf, (void*) "IDZebra::RetrievalRecordBuf");
     SWIG_TypeClientData(SWIGTYPE_p_RetrievalRecord, (void*) "IDZebra::RetrievalRecord");
     SWIG_TypeClientData(SWIGTYPE_p_scanEntry, (void*) "IDZebra::scanEntry");
     SWIG_TypeClientData(SWIGTYPE_p_ScanObj, (void*) "IDZebra::ScanObj");