From 099aec879b6c1866a67aab0730ba910cbe1c4b61 Mon Sep 17 00:00:00 2001 From: Thomas Andrejak Date: Jul 13 2019 07:21:00 +0000 Subject: Fix FTBFS with Python 3.8 (#1706207) --- diff --git a/libpreludedb-5.0.0-bump_swig_files_to_swig4.patch b/libpreludedb-5.0.0-bump_swig_files_to_swig4.patch new file mode 100644 index 0000000..f324955 --- /dev/null +++ b/libpreludedb-5.0.0-bump_swig_files_to_swig4.patch @@ -0,0 +1,2034 @@ +--- ./bindings/python/_preludedb.cxx 2018-12-23 22:18:19.680000000 +0100 ++++ ./bindings/python/_preludedb.cxx 2019-07-13 08:39:59.744285379 +0200 +@@ -1,6 +1,6 @@ + /* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). +- * Version 3.0.12 ++ * Version 4.0.0 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make +@@ -180,7 +180,7 @@ + /* Use debug wrappers with the Python release dll */ + # undef _DEBUG + # include +-# define _DEBUG ++# define _DEBUG 1 + #else + # include + #endif +@@ -815,14 +815,16 @@ + SWIG_Python_str_AsChar(PyObject *str) + { + #if PY_VERSION_HEX >= 0x03000000 +- char *cstr; +- char *newstr; +- Py_ssize_t len; ++ char *newstr = 0; + str = PyUnicode_AsUTF8String(str); +- PyBytes_AsStringAndSize(str, &cstr, &len); +- newstr = (char *) malloc(len+1); +- memcpy(newstr, cstr, len+1); +- Py_XDECREF(str); ++ if (str) { ++ char *cstr; ++ Py_ssize_t len; ++ PyBytes_AsStringAndSize(str, &cstr, &len); ++ newstr = (char *) malloc(len+1); ++ memcpy(newstr, cstr, len+1); ++ Py_XDECREF(str); ++ } + return newstr; + #else + return PyString_AsString(str); +@@ -1046,14 +1048,17 @@ + PyObject *value = 0; + PyObject *traceback = 0; + +- if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback); ++ if (PyErr_Occurred()) ++ PyErr_Fetch(&type, &value, &traceback); + if (value) { +- char *tmp; + PyObject *old_str = PyObject_Str(value); ++ const char *tmp = SWIG_Python_str_AsChar(old_str); + PyErr_Clear(); + Py_XINCREF(type); +- +- PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg); ++ if (tmp) ++ PyErr_Format(type, "%s %s", tmp, mesg); ++ else ++ PyErr_Format(type, "%s", mesg); + SWIG_Python_str_DelForPy3(tmp); + Py_DECREF(old_str); + Py_DECREF(value); +@@ -1717,7 +1722,7 @@ + PyObject *res; + + /* PyObject_CallFunction() has the potential to silently drop +- the active active exception. In cases of unnamed temporary ++ the active exception. In cases of unnamed temporary + variable or where we just finished iterating over a generator + StopIteration will be active right now, and this needs to + remain true upon return from SwigPyObject_dealloc. So save +@@ -2466,31 +2471,28 @@ + return SWIG_ConvertPtr(obj, ptr, ty, 0); + } else { + void *vptr = 0; +- ++ swig_cast_info *tc; ++ + /* here we get the method pointer for callbacks */ + const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); + const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; + if (desc) + desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; +- if (!desc) ++ if (!desc) + return SWIG_ERROR; +- if (ty) { +- swig_cast_info *tc = SWIG_TypeCheck(desc,ty); +- if (tc) { +- int newmemory = 0; +- *ptr = SWIG_TypeCast(tc,vptr,&newmemory); +- assert(!newmemory); /* newmemory handling not yet implemented */ +- } else { +- return SWIG_ERROR; +- } ++ tc = SWIG_TypeCheck(desc,ty); ++ if (tc) { ++ int newmemory = 0; ++ *ptr = SWIG_TypeCast(tc,vptr,&newmemory); ++ assert(!newmemory); /* newmemory handling not yet implemented */ + } else { +- *ptr = vptr; ++ return SWIG_ERROR; + } + return SWIG_OK; + } + } + +-/* Convert a packed value value */ ++/* Convert a packed pointer value */ + + SWIGRUNTIME int + SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) { +@@ -2854,14 +2856,16 @@ + PyObject *traceback = 0; + PyErr_Fetch(&type, &value, &traceback); + if (value) { +- char *tmp; + PyObject *old_str = PyObject_Str(value); ++ const char *tmp = SWIG_Python_str_AsChar(old_str); ++ if (!tmp) ++ tmp = "Invalid error message"; + Py_XINCREF(type); + PyErr_Clear(); + if (infront) { +- PyErr_Format(type, "%s %s", mesg, tmp = SWIG_Python_str_AsChar(old_str)); ++ PyErr_Format(type, "%s %s", mesg, tmp); + } else { +- PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg); ++ PyErr_Format(type, "%s %s", tmp, mesg); + } + SWIG_Python_str_DelForPy3(tmp); + Py_DECREF(old_str); +@@ -2987,6 +2991,8 @@ + Py_INCREF(name); + } else { + encoded_name = PyUnicode_AsUTF8String(name); ++ if (!encoded_name) ++ return -1; + } + PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name)); + Py_DECREF(encoded_name); +@@ -3400,10 +3406,10 @@ + + SWIGINTERN void + SwigPyBuiltin_InitBases (PyTypeObject *type, PyTypeObject **bases) { +- int base_count = 0; ++ Py_ssize_t base_count = 0; + PyTypeObject **b; + PyObject *tuple; +- int i; ++ Py_ssize_t i; + + if (!bases[0]) { + bases[0] = SwigPyObject_type(); +@@ -3832,7 +3838,7 @@ + #endif + #define SWIG_name "_preludedb" + +-#define SWIGVERSION 0x030012 ++#define SWIGVERSION 0x040000 + #define SWIG_VERSION SWIGVERSION + + +@@ -4557,7 +4563,7 @@ + template + struct traits_asptr { + static int asptr(PyObject *obj, Type **val) { +- Type *p; ++ Type *p = 0; + swig_type_info *descriptor = type_info(); + int res = descriptor ? SWIG_ConvertPtr(obj, (void **)&p, descriptor, 0) : SWIG_ERROR; + if (SWIG_IsOK(res)) { +@@ -4619,14 +4625,14 @@ + + template + struct traits_as { +- static Type as(PyObject *obj, bool throw_error) { ++ static Type as(PyObject *obj) { + Type v; + int res = asval(obj, &v); + if (!obj || !SWIG_IsOK(res)) { + if (!PyErr_Occurred()) { + ::SWIG_Error(SWIG_TypeError, swig::type_name()); + } +- if (throw_error) throw std::invalid_argument("bad type"); ++ throw std::invalid_argument("bad type"); + } + return v; + } +@@ -4634,7 +4640,7 @@ + + template + struct traits_as { +- static Type as(PyObject *obj, bool throw_error) { ++ static Type as(PyObject *obj) { + Type *v = 0; + int res = (obj ? traits_asptr::asptr(obj, &v) : SWIG_ERROR); + if (SWIG_IsOK(res) && v) { +@@ -4646,21 +4652,17 @@ + return *v; + } + } else { +- // Uninitialized return value, no Type() constructor required. +- static Type *v_def = (Type*) malloc(sizeof(Type)); + if (!PyErr_Occurred()) { + SWIG_Error(SWIG_TypeError, swig::type_name()); + } +- if (throw_error) throw std::invalid_argument("bad type"); +- memset(v_def,0,sizeof(Type)); +- return *v_def; ++ throw std::invalid_argument("bad type"); + } + } + }; + + template + struct traits_as { +- static Type* as(PyObject *obj, bool throw_error) { ++ static Type* as(PyObject *obj) { + Type *v = 0; + int res = (obj ? traits_asptr::asptr(obj, &v) : SWIG_ERROR); + if (SWIG_IsOK(res)) { +@@ -4669,15 +4671,14 @@ + if (!PyErr_Occurred()) { + SWIG_Error(SWIG_TypeError, swig::type_name()); + } +- if (throw_error) throw std::invalid_argument("bad type"); +- return 0; ++ throw std::invalid_argument("bad type"); + } + } + }; + + template +- inline Type as(PyObject *obj, bool te = false) { +- return traits_as::category>::as(obj, te); ++ inline Type as(PyObject *obj) { ++ return traits_as::category>::as(obj); + } + + template +@@ -4950,7 +4951,7 @@ + typename Sequence::const_iterator isit = is.begin(); + typename Sequence::iterator it = self->begin(); + std::advance(it,ii); +- for (size_t rc=0; rcend(); ++rc) { + *it++ = *isit++; + for (Py_ssize_t c=0; c<(step-1) && it != self->end(); ++c) + it++; +@@ -4966,7 +4967,7 @@ + typename Sequence::const_iterator isit = is.begin(); + typename Sequence::reverse_iterator it = self->rbegin(); + std::advance(it,size-ii-1); +- for (size_t rc=0; rcrend(); ++rc) { + *it++ = *isit++; + for (Py_ssize_t c=0; c<(-step-1) && it != self->rend(); ++c) + it++; +@@ -5114,16 +5115,16 @@ + template::value_type, + typename FromOper = from_oper > +- class SwigPyIteratorOpen_T : public SwigPyIterator_T ++ class SwigPyForwardIteratorOpen_T : public SwigPyIterator_T + { + public: + FromOper from; + typedef OutIterator out_iterator; + typedef ValueType value_type; + typedef SwigPyIterator_T base; +- typedef SwigPyIteratorOpen_T self_type; ++ typedef SwigPyForwardIteratorOpen_T self_type; + +- SwigPyIteratorOpen_T(out_iterator curr, PyObject *seq) ++ SwigPyForwardIteratorOpen_T(out_iterator curr, PyObject *seq) + : SwigPyIterator_T(curr, seq) + { + } +@@ -5145,6 +5146,25 @@ + return this; + } + ++ }; ++ ++ template::value_type, ++ typename FromOper = from_oper > ++ class SwigPyIteratorOpen_T : public SwigPyForwardIteratorOpen_T ++ { ++ public: ++ FromOper from; ++ typedef OutIterator out_iterator; ++ typedef ValueType value_type; ++ typedef SwigPyIterator_T base; ++ typedef SwigPyIteratorOpen_T self_type; ++ ++ SwigPyIteratorOpen_T(out_iterator curr, PyObject *seq) ++ : SwigPyForwardIteratorOpen_T(curr, seq) ++ { ++ } ++ + SwigPyIterator *decr(size_t n = 1) + { + while (n--) { +@@ -5157,16 +5177,16 @@ + template::value_type, + typename FromOper = from_oper > +- class SwigPyIteratorClosed_T : public SwigPyIterator_T ++ class SwigPyForwardIteratorClosed_T : public SwigPyIterator_T + { + public: + FromOper from; + typedef OutIterator out_iterator; + typedef ValueType value_type; + typedef SwigPyIterator_T base; +- typedef SwigPyIteratorClosed_T self_type; ++ typedef SwigPyForwardIteratorClosed_T self_type; + +- SwigPyIteratorClosed_T(out_iterator curr, out_iterator first, out_iterator last, PyObject *seq) ++ SwigPyForwardIteratorClosed_T(out_iterator curr, out_iterator first, out_iterator last, PyObject *seq) + : SwigPyIterator_T(curr, seq), begin(first), end(last) + { + } +@@ -5196,10 +5216,33 @@ + return this; + } + ++ protected: ++ out_iterator begin; ++ out_iterator end; ++ }; ++ ++ template::value_type, ++ typename FromOper = from_oper > ++ class SwigPyIteratorClosed_T : public SwigPyForwardIteratorClosed_T ++ { ++ public: ++ FromOper from; ++ typedef OutIterator out_iterator; ++ typedef ValueType value_type; ++ typedef SwigPyIterator_T base; ++ typedef SwigPyForwardIteratorClosed_T base0; ++ typedef SwigPyIteratorClosed_T self_type; ++ ++ SwigPyIteratorClosed_T(out_iterator curr, out_iterator first, out_iterator last, PyObject *seq) ++ : SwigPyForwardIteratorClosed_T(curr, first, last, seq) ++ { ++ } ++ + SwigPyIterator *decr(size_t n = 1) + { + while (n--) { +- if (base::current == begin) { ++ if (base::current == base0::begin) { + throw stop_iteration(); + } else { + --base::current; +@@ -5207,12 +5250,16 @@ + } + return this; + } +- +- private: +- out_iterator begin; +- out_iterator end; + }; + ++ ++ template ++ inline SwigPyIterator* ++ make_output_forward_iterator(const OutIter& current, const OutIter& begin,const OutIter& end, PyObject *seq = 0) ++ { ++ return new SwigPyForwardIteratorClosed_T(current, begin, end, seq); ++ } ++ + template + inline SwigPyIterator* + make_output_iterator(const OutIter& current, const OutIter& begin,const OutIter& end, PyObject *seq = 0) +@@ -5222,6 +5269,13 @@ + + template + inline SwigPyIterator* ++ make_output_forward_iterator(const OutIter& current, PyObject *seq = 0) ++ { ++ return new SwigPyForwardIteratorOpen_T(current, seq); ++ } ++ ++ template ++ inline SwigPyIterator* + make_output_iterator(const OutIter& current, PyObject *seq = 0) + { + return new SwigPyIteratorOpen_T(current, seq); +@@ -5244,8 +5298,8 @@ + { + swig::SwigVar_PyObject item = PySequence_GetItem(_seq, _index); + try { +- return swig::as(item, true); +- } catch (std::exception& e) { ++ return swig::as(item); ++ } catch (const std::invalid_argument& e) { + char msg[1024]; + sprintf(msg, "in sequence element %d ", (int)_index); + if (!PyErr_Occurred()) { +@@ -6598,15 +6652,13 @@ + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)((swig::SwigPyIterator const *)arg1)->value(); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = result; + return resultobj; + fail: +@@ -6614,7 +6666,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + size_t arg2 ; +@@ -6637,15 +6689,13 @@ + arg2 = static_cast< size_t >(val2); + try { + result = (swig::SwigPyIterator *)(arg1)->incr(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; + fail: +@@ -6653,7 +6703,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_1(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; +@@ -6668,15 +6718,13 @@ + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (swig::SwigPyIterator *)(arg1)->incr(); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; + fail: +@@ -6708,7 +6756,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + size_t arg2 ; +@@ -6731,15 +6779,13 @@ + arg2 = static_cast< size_t >(val2); + try { + result = (swig::SwigPyIterator *)(arg1)->decr(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; + fail: +@@ -6747,7 +6793,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_1(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; +@@ -6762,15 +6808,13 @@ + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (swig::SwigPyIterator *)(arg1)->decr(); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; + fail: +@@ -6830,11 +6874,9 @@ + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + try { + result = ((swig::SwigPyIterator const *)arg1)->distance((swig::SwigPyIterator const &)*arg2); +- } +- catch(std::invalid_argument &_e) { ++ } catch(std::invalid_argument &_e) { + SWIG_Python_Raise(SWIG_NewPointerObj((new std::invalid_argument(static_cast< const std::invalid_argument& >(_e))),SWIGTYPE_p_std__invalid_argument,SWIG_POINTER_OWN), "std::invalid_argument", SWIGTYPE_p_std__invalid_argument); SWIG_fail; + } +- + resultobj = SWIG_From_ptrdiff_t(static_cast< ptrdiff_t >(result)); + return resultobj; + fail: +@@ -6870,11 +6912,9 @@ + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + try { + result = (bool)((swig::SwigPyIterator const *)arg1)->equal((swig::SwigPyIterator const &)*arg2); +- } +- catch(std::invalid_argument &_e) { ++ } catch(std::invalid_argument &_e) { + SWIG_Python_Raise(SWIG_NewPointerObj((new std::invalid_argument(static_cast< const std::invalid_argument& >(_e))),SWIGTYPE_p_std__invalid_argument,SWIG_POINTER_OWN), "std::invalid_argument", SWIGTYPE_p_std__invalid_argument); SWIG_fail; + } +- + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; + fail: +@@ -6920,15 +6960,13 @@ + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)(arg1)->next(); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = result; + return resultobj; + fail: +@@ -6952,15 +6990,13 @@ + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)(arg1)->__next__(); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = result; + return resultobj; + fail: +@@ -6984,15 +7020,13 @@ + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)(arg1)->previous(); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = result; + return resultobj; + fail: +@@ -7025,15 +7059,13 @@ + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *)(arg1)->advance(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; + fail: +@@ -7071,7 +7103,9 @@ + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; + fail: +- return NULL; ++ PyErr_Clear(); ++ Py_INCREF(Py_NotImplemented); ++ return Py_NotImplemented; + } + + +@@ -7105,7 +7139,9 @@ + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; + fail: +- return NULL; ++ PyErr_Clear(); ++ Py_INCREF(Py_NotImplemented); ++ return Py_NotImplemented; + } + + +@@ -7134,15 +7170,13 @@ + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *) &(arg1)->operator +=(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; + fail: +@@ -7175,15 +7209,13 @@ + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *) &(arg1)->operator -=(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; + fail: +@@ -7216,23 +7248,23 @@ + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->operator +(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; + fail: +- return NULL; ++ PyErr_Clear(); ++ Py_INCREF(Py_NotImplemented); ++ return Py_NotImplemented; + } + + +-SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + ptrdiff_t arg2 ; +@@ -7255,23 +7287,23 @@ + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->operator -(arg2); +- } +- catch(swig::stop_iteration &_e) { ++ } catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } +- + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; + fail: +- return NULL; ++ PyErr_Clear(); ++ Py_INCREF(Py_NotImplemented); ++ return Py_NotImplemented; + } + + +-SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + swig::SwigPyIterator *arg2 = 0 ; +@@ -7299,7 +7331,9 @@ + resultobj = SWIG_From_ptrdiff_t(static_cast< ptrdiff_t >(result)); + return resultobj; + fail: +- return NULL; ++ PyErr_Clear(); ++ Py_INCREF(Py_NotImplemented); ++ return Py_NotImplemented; + } + + +@@ -7535,7 +7569,7 @@ + } + + +-SWIGINTERN int _wrap_new_TableIterator(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_TableIterator(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table *arg1 = 0 ; + ssize_t arg2 ; +@@ -7772,7 +7806,7 @@ + } + + +-SWIGINTERN int _wrap_new_TableRowIterator(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_TableRowIterator(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = 0 ; + ssize_t arg2 ; +@@ -8014,7 +8048,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultIdentsIterator(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultIdentsIterator(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultIdents *arg1 = 0 ; + ssize_t arg2 ; +@@ -8252,7 +8286,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValuesIterator(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultValuesIterator(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues *arg1 = 0 ; + ssize_t arg2 ; +@@ -8437,7 +8471,7 @@ + + SWIGPY_DESTRUCTOR_CLOSURE(_wrap_delete_ResultValuesIterator) /* defines _wrap_delete_ResultValuesIterator_destructor_closure */ + +-SWIGINTERN int _wrap_new_ResultValuesDRowIterator(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultValuesDRowIterator(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *arg1 = 0 ; + ssize_t arg2 ; +@@ -8685,7 +8719,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValuesRowIterator(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultValuesRowIterator(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *arg1 = 0 ; + ssize_t arg2 ; +@@ -8953,7 +8987,7 @@ + } + + +-SWIGINTERN int _wrap_new_DB(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_DB(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + PyObject *resultobj = 0; + PreludeDB::SQL *arg1 = 0 ; + void *argp1 = 0 ; +@@ -9589,7 +9623,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_deleteAlert__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_deleteAlert__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + uint64_t arg2 ; +@@ -9630,7 +9664,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_deleteAlert__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_deleteAlert__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + PreludeDB::DB::ResultIdents *arg2 = 0 ; +@@ -9674,7 +9708,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_deleteAlert__SWIG_2(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_deleteAlert__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + std::vector< unsigned long long,std::allocator< unsigned long long > > arg2 ; +@@ -9764,7 +9798,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_deleteHeartbeat__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_deleteHeartbeat__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + uint64_t arg2 ; +@@ -9805,7 +9839,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_deleteHeartbeat__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_deleteHeartbeat__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + PreludeDB::DB::ResultIdents *arg2 = 0 ; +@@ -9849,7 +9883,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_deleteHeartbeat__SWIG_2(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_deleteHeartbeat__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + std::vector< unsigned long long,std::allocator< unsigned long long > > arg2 ; +@@ -9939,7 +9973,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_updateFromList__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_updateFromList__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + std::vector< Prelude::IDMEFPath,std::allocator< Prelude::IDMEFPath > > *arg2 = 0 ; +@@ -10039,7 +10073,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_DB_updateFromList__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_DB_updateFromList__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + std::vector< Prelude::IDMEFPath,std::allocator< Prelude::IDMEFPath > > *arg2 = 0 ; +@@ -10425,7 +10459,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultIdents__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_ResultIdents__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultIdents *arg1 = 0 ; + void *argp1 = 0 ; +@@ -10458,7 +10492,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultIdents__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_ResultIdents__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB *arg1 = (PreludeDB::DB *) 0 ; + preludedb_result_idents_t *arg2 = (preludedb_result_idents_t *) 0 ; +@@ -10496,7 +10530,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultIdents__SWIG_2(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN int _wrap_new_ResultIdents__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultIdents *result = 0 ; + +@@ -10518,7 +10552,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultIdents(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultIdents(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 +@@ -10638,7 +10672,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultIdents_get__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultIdents_get__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultIdents *arg1 = (PreludeDB::DB::ResultIdents *) 0 ; + unsigned int arg2 = (unsigned int) (unsigned int) -1 ; +@@ -10684,7 +10718,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultIdents_get__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultIdents_get__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultIdents *arg1 = (PreludeDB::DB::ResultIdents *) 0 ; + PyObject *arg2 = (PyObject *) 0 ; +@@ -10843,7 +10877,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValues__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_ResultValues__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues *arg1 = 0 ; + void *argp1 = 0 ; +@@ -10876,7 +10910,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValues__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_ResultValues__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + preludedb_result_values_t *arg1 = (preludedb_result_values_t *) 0 ; + void *argp1 = 0 ; +@@ -10906,7 +10940,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValues__SWIG_2(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN int _wrap_new_ResultValues__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues *result = 0 ; + +@@ -10928,7 +10962,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValues(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultValues(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 +@@ -11119,7 +11153,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultValues_get__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultValues_get__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues *arg1 = (PreludeDB::DB::ResultValues *) 0 ; + unsigned int arg2 = (unsigned int) (unsigned int) -1 ; +@@ -11199,7 +11233,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultValues_get__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultValues_get__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues *arg1 = (PreludeDB::DB::ResultValues *) 0 ; + PyObject *arg2 = (PyObject *) 0 ; +@@ -11308,7 +11342,7 @@ + + SWIGPY_GETITERFUNC_CLOSURE(_wrap_ResultValues___iter__) /* defines _wrap_ResultValues___iter___getiterfunc_closure */ + +-SWIGINTERN int _wrap_new_ResultValuesRow__SWIG_0(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN int _wrap_new_ResultValuesRow__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *result = 0 ; + +@@ -11330,7 +11364,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValuesRow__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_ResultValuesRow__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *arg1 = 0 ; + void *argp1 = 0 ; +@@ -11363,7 +11397,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValuesRow__SWIG_2(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_ResultValuesRow__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + preludedb_result_values_t *arg1 = (preludedb_result_values_t *) 0 ; + void *arg2 = (void *) 0 ; +@@ -11399,7 +11433,7 @@ + } + + +-SWIGINTERN int _wrap_new_ResultValuesRow(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_ResultValuesRow(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 +@@ -11457,7 +11491,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultValuesRow_get__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultValuesRow_get__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *arg1 = (PreludeDB::DB::ResultValues::ResultValuesRow *) 0 ; + int arg2 ; +@@ -11511,7 +11545,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultValuesRow_get__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultValuesRow_get__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *arg1 = (PreludeDB::DB::ResultValues::ResultValuesRow *) 0 ; + int arg2 ; +@@ -11661,7 +11695,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_ResultValuesRow_get__SWIG_2(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_ResultValuesRow_get__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::DB::ResultValues::ResultValuesRow *arg1 = (PreludeDB::DB::ResultValues::ResultValuesRow *) 0 ; + PyObject *arg2 = (PyObject *) 0 ; +@@ -11772,7 +11806,7 @@ + + SWIGPY_GETITERFUNC_CLOSURE(_wrap_ResultValuesRow___iter__) /* defines _wrap_ResultValuesRow___iter___getiterfunc_closure */ + +-SWIGINTERN int _wrap_new_PreludeDBError__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_PreludeDBError__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + int arg1 ; + int val1 ; +@@ -11802,7 +11836,7 @@ + } + + +-SWIGINTERN int _wrap_new_PreludeDBError__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_PreludeDBError__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::string *arg1 = 0 ; + int res1 = SWIG_OLDOBJ ; +@@ -11839,7 +11873,7 @@ + } + + +-SWIGINTERN int _wrap_new_PreludeDBError(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_PreludeDBError(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 +@@ -11935,7 +11969,7 @@ + } + + +-SWIGINTERN int _wrap_new_SQL__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_SQL__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + int res1 ; +@@ -11968,7 +12002,7 @@ + } + + +-SWIGINTERN int _wrap_new_SQL__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_SQL__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg1 = 0 ; + int res1 = SWIG_OLDOBJ ; +@@ -12005,7 +12039,7 @@ + } + + +-SWIGINTERN int _wrap_new_SQL(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_SQL(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 +@@ -12445,7 +12479,7 @@ + } + + +-SWIGINTERN int _wrap_new_Table__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_Table__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + preludedb_sql_table_t *arg1 = (preludedb_sql_table_t *) 0 ; + unsigned int arg2 ; +@@ -12483,7 +12517,7 @@ + } + + +-SWIGINTERN int _wrap_new_Table__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_Table__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table *arg1 = 0 ; + void *argp1 = 0 ; +@@ -12516,7 +12550,7 @@ + } + + +-SWIGINTERN int _wrap_new_Table__SWIG_2(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN int _wrap_new_Table__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table *result = 0 ; + +@@ -12538,7 +12572,7 @@ + } + + +-SWIGINTERN int _wrap_new_Table(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_Table(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 +@@ -12777,7 +12811,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Table_get__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Table_get__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table *arg1 = (PreludeDB::SQL::Table *) 0 ; + unsigned int arg2 ; +@@ -12846,7 +12880,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Table_get__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Table_get__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table *arg1 = (PreludeDB::SQL::Table *) 0 ; + PyObject *arg2 = (PyObject *) 0 ; +@@ -12983,7 +13017,7 @@ + } + + +-SWIGINTERN int _wrap_new_Row__SWIG_0(PyObject *self, int nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { ++SWIGINTERN int _wrap_new_Row__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *result = 0 ; + +@@ -13005,7 +13039,7 @@ + } + + +-SWIGINTERN int _wrap_new_Row__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_Row__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + preludedb_sql_row_t *arg1 = (preludedb_sql_row_t *) 0 ; + void *argp1 = 0 ; +@@ -13035,7 +13069,7 @@ + } + + +-SWIGINTERN int _wrap_new_Row__SWIG_2(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN int _wrap_new_Row__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = 0 ; + void *argp1 = 0 ; +@@ -13068,7 +13102,7 @@ + } + + +-SWIGINTERN int _wrap_new_Row(PyObject *self, PyObject *args) { ++SWIGINTERN int _wrap_new_Row(PyObject *self, PyObject *args, PyObject *SWIGUNUSEDPARM(kwargs)) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 +@@ -13167,7 +13201,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Row_getField__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Row_getField__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = (PreludeDB::SQL::Table::Row *) 0 ; + unsigned int arg2 ; +@@ -13205,7 +13239,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Row_getField__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Row_getField__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = (PreludeDB::SQL::Table::Row *) 0 ; + std::string *arg2 = 0 ; +@@ -13284,7 +13318,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Row_get__SWIG_0(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Row_get__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = (PreludeDB::SQL::Table::Row *) 0 ; + unsigned int arg2 ; +@@ -13322,7 +13356,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Row_get__SWIG_1(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Row_get__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = (PreludeDB::SQL::Table::Row *) 0 ; + std::string *arg2 = 0 ; +@@ -13398,7 +13432,7 @@ + } + + +-SWIGINTERN PyObject *_wrap_Row_get__SWIG_2(PyObject *self, int nobjs, PyObject **swig_obj) { ++SWIGINTERN PyObject *_wrap_Row_get__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + PreludeDB::SQL::Table::Row *arg1 = (PreludeDB::SQL::Table::Row *) 0 ; + PyObject *arg2 = (PyObject *) 0 ; +@@ -13582,7 +13616,7 @@ + "preludedb.SwigPyIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_SwigPyIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_SwigPyIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -13595,7 +13629,7 @@ + &SwigPyBuiltin__swig__SwigPyIterator_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__swig__SwigPyIterator_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__swig__SwigPyIterator_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -13609,10 +13643,10 @@ + "swig::SwigPyIterator", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__swig__SwigPyIterator_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__swig__SwigPyIterator_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) &swig::make_output_iterator_builtin, /* tp_iter */ +- (iternextfunc) (iternextfunc) _wrap_SwigPyIterator___next___iternextfunc_closure,/* tp_iternext */ ++ &swig::make_output_iterator_builtin, /* tp_iter */ ++ _wrap_SwigPyIterator___next___iternextfunc_closure, /* tp_iternext */ + SwigPyBuiltin__swig__SwigPyIterator_methods, /* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__swig__SwigPyIterator_getset, /* tp_getset */ +@@ -13620,8 +13654,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) SwigPyBuiltin_BadInit, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ SwigPyBuiltin_BadInit, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -13656,8 +13690,8 @@ + }, + #endif + { +- (binaryfunc) (binaryfunc) _wrap_SwigPyIterator___add__, /* nb_add */ +- (binaryfunc) (binaryfunc) _wrap_SwigPyIterator___sub___binaryfunc_closure,/* nb_subtract */ ++ _wrap_SwigPyIterator___add__, /* nb_add */ ++ _wrap_SwigPyIterator___sub___binaryfunc_closure, /* nb_subtract */ + (binaryfunc) 0, /* nb_multiply */ + #if PY_VERSION_HEX < 0x03000000 + (binaryfunc) 0, /* nb_divide */ +@@ -13689,8 +13723,8 @@ + (unaryfunc) 0, /* nb_oct */ + (unaryfunc) 0, /* nb_hex */ + #endif +- (binaryfunc) (binaryfunc) _wrap_SwigPyIterator___iadd__, /* nb_inplace_add */ +- (binaryfunc) (binaryfunc) _wrap_SwigPyIterator___isub__, /* nb_inplace_subtract */ ++ _wrap_SwigPyIterator___iadd__, /* nb_inplace_add */ ++ _wrap_SwigPyIterator___isub__, /* nb_inplace_subtract */ + (binaryfunc) 0, /* nb_inplace_multiply */ + #if PY_VERSION_HEX < 0x03000000 + (binaryfunc) 0, /* nb_inplace_divide */ +@@ -13802,7 +13836,7 @@ + "preludedb.TableIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_TableIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_TableIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -13815,7 +13849,7 @@ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -13829,10 +13863,10 @@ + "GenericIterator< PreludeDB::SQL::Table,PreludeDB::SQL::Table::Row >",/* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_TableIterator___iter___getiterfunc_closure,/* tp_iter */ +- (iternextfunc) (unaryfunc) _wrap_TableIterator_next_unaryfunc_closure,/* tp_iternext */ ++ _wrap_TableIterator___iter___getiterfunc_closure, /* tp_iter */ ++ _wrap_TableIterator_next_unaryfunc_closure, /* tp_iternext */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_methods,/* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table_PreludeDB__SQL__Table__Row_t_getset,/* tp_getset */ +@@ -13840,8 +13874,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_TableIterator, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_TableIterator, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -14022,7 +14056,7 @@ + "preludedb.TableRowIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_TableRowIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_TableRowIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -14035,7 +14069,7 @@ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -14049,10 +14083,10 @@ + "GenericIterator< PreludeDB::SQL::Table::Row,char const >", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_TableRowIterator___iter___getiterfunc_closure,/* tp_iter */ +- (iternextfunc) (unaryfunc) _wrap_TableRowIterator_next_unaryfunc_closure,/* tp_iternext */ ++ _wrap_TableRowIterator___iter___getiterfunc_closure, /* tp_iter */ ++ _wrap_TableRowIterator_next_unaryfunc_closure, /* tp_iternext */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_methods,/* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__SQL__Table__Row_char_const_t_getset,/* tp_getset */ +@@ -14060,8 +14094,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_TableRowIterator, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_TableRowIterator, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -14242,7 +14276,7 @@ + "preludedb.ResultIdentsIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultIdentsIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultIdentsIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -14255,7 +14289,7 @@ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -14269,10 +14303,10 @@ + "GenericIterator< PreludeDB::DB::ResultIdents,_VECTOR_UINT64_TYPE >",/* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultIdentsIterator___iter___getiterfunc_closure,/* tp_iter */ +- (iternextfunc) (unaryfunc) _wrap_ResultIdentsIterator_next_unaryfunc_closure,/* tp_iternext */ ++ _wrap_ResultIdentsIterator___iter___getiterfunc_closure, /* tp_iter */ ++ _wrap_ResultIdentsIterator_next_unaryfunc_closure, /* tp_iternext */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_methods,/* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultIdents__VECTOR_UINT64_TYPE_t_getset,/* tp_getset */ +@@ -14280,8 +14314,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultIdentsIterator,/* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultIdentsIterator, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -14462,7 +14496,7 @@ + "preludedb.ResultValuesIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultValuesIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultValuesIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -14475,7 +14509,7 @@ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -14489,10 +14523,10 @@ + "GenericIterator< PreludeDB::DB::ResultValues,PreludeDB::DB::ResultValues::ResultValuesRow >",/* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultValuesIterator___iter___getiterfunc_closure,/* tp_iter */ +- (iternextfunc) (unaryfunc) _wrap_ResultValuesIterator_next_unaryfunc_closure,/* tp_iternext */ ++ _wrap_ResultValuesIterator___iter___getiterfunc_closure, /* tp_iter */ ++ _wrap_ResultValuesIterator_next_unaryfunc_closure, /* tp_iternext */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_methods,/* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues_PreludeDB__DB__ResultValues__ResultValuesRow_t_getset,/* tp_getset */ +@@ -14500,8 +14534,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultValuesIterator,/* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultValuesIterator, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -14679,7 +14713,7 @@ + "preludedb.ResultValuesDRowIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultValuesDRowIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultValuesDRowIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -14692,7 +14726,7 @@ + &SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -14706,10 +14740,10 @@ + "GenericDirectIterator< PreludeDB::DB::ResultValues::ResultValuesRow,PyObject >",/* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultValuesDRowIterator___iter___getiterfunc_closure,/* tp_iter */ +- (iternextfunc) (unaryfunc) _wrap_ResultValuesDRowIterator_next_unaryfunc_closure,/* tp_iternext */ ++ _wrap_ResultValuesDRowIterator___iter___getiterfunc_closure, /* tp_iter */ ++ _wrap_ResultValuesDRowIterator_next_unaryfunc_closure, /* tp_iternext */ + SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_methods,/* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__GenericDirectIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_PyObject_t_getset,/* tp_getset */ +@@ -14717,8 +14751,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultValuesDRowIterator, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultValuesDRowIterator, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -14899,7 +14933,7 @@ + "preludedb.ResultValuesRowIterator", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultValuesRowIterator_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultValuesRowIterator_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -14912,7 +14946,7 @@ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -14926,10 +14960,10 @@ + "GenericIterator< PreludeDB::DB::ResultValues::ResultValuesRow,Prelude::IDMEFValue >",/* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultValuesRowIterator___iter___getiterfunc_closure,/* tp_iter */ +- (iternextfunc) (unaryfunc) _wrap_ResultValuesRowIterator_next_unaryfunc_closure,/* tp_iternext */ ++ _wrap_ResultValuesRowIterator___iter___getiterfunc_closure, /* tp_iter */ ++ _wrap_ResultValuesRowIterator_next_unaryfunc_closure, /* tp_iternext */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_methods,/* tp_methods */ + 0, /* tp_members */ + SwigPyBuiltin__GenericIteratorT_PreludeDB__DB__ResultValues__ResultValuesRow_Prelude__IDMEFValue_t_getset,/* tp_getset */ +@@ -14937,8 +14971,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultValuesRowIterator, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultValuesRowIterator, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -15128,7 +15162,7 @@ + "preludedb.DB", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_DB_destructor_closure, /* tp_dealloc */ ++ _wrap_delete_DB_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -15141,7 +15175,7 @@ + &SwigPyBuiltin__PreludeDB__DB_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__DB_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__DB_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -15155,7 +15189,7 @@ + "PreludeDB::DB", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__DB_richcompare, /* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__DB_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ +@@ -15166,8 +15200,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_DB, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_DB, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -15350,7 +15384,7 @@ + "preludedb.ResultIdents", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultIdents_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultIdents_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -15363,7 +15397,7 @@ + &SwigPyBuiltin__PreludeDB__DB__ResultIdents_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__DB__ResultIdents_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__DB__ResultIdents_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -15377,9 +15411,9 @@ + "PreludeDB::DB::ResultIdents", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__DB__ResultIdents_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__DB__ResultIdents_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultIdents___iter___getiterfunc_closure,/* tp_iter */ ++ _wrap_ResultIdents___iter___getiterfunc_closure, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + SwigPyBuiltin__PreludeDB__DB__ResultIdents_methods, /* tp_methods */ + 0, /* tp_members */ +@@ -15388,8 +15422,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultIdents, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultIdents, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -15483,8 +15517,8 @@ + #endif + }, + { +- (lenfunc) (lenfunc) _wrap_ResultIdents_count_lenfunc_closure, /* mp_length */ +- (binaryfunc) (binaryfunc) _wrap_ResultIdents_get_binaryfunc_closure,/* mp_subscript */ ++ _wrap_ResultIdents_count_lenfunc_closure, /* mp_length */ ++ _wrap_ResultIdents_get_binaryfunc_closure,/* mp_subscript */ + (objobjargproc) 0, /* mp_ass_subscript */ + }, + { +@@ -15575,7 +15609,7 @@ + "preludedb.ResultValues", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultValues_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultValues_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -15584,11 +15618,11 @@ + #else + (cmpfunc) 0, /* tp_compare */ + #endif +- (reprfunc) (reprfunc) _wrap_ResultValues_toString_reprfunc_closure,/* tp_repr */ ++ _wrap_ResultValues_toString_reprfunc_closure, /* tp_repr */ + &SwigPyBuiltin__PreludeDB__DB__ResultValues_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__DB__ResultValues_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__DB__ResultValues_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -15602,9 +15636,9 @@ + "PreludeDB::DB::ResultValues", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__DB__ResultValues_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__DB__ResultValues_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultValues___iter___getiterfunc_closure,/* tp_iter */ ++ _wrap_ResultValues___iter___getiterfunc_closure, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + SwigPyBuiltin__PreludeDB__DB__ResultValues_methods, /* tp_methods */ + 0, /* tp_members */ +@@ -15613,8 +15647,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultValues, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultValues, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -15708,8 +15742,8 @@ + #endif + }, + { +- (lenfunc) (lenfunc) _wrap_ResultValues_count_lenfunc_closure, /* mp_length */ +- (binaryfunc) (binaryfunc) _wrap_ResultValues_get_binaryfunc_closure,/* mp_subscript */ ++ _wrap_ResultValues_count_lenfunc_closure, /* mp_length */ ++ _wrap_ResultValues_get_binaryfunc_closure,/* mp_subscript */ + (objobjargproc) 0, /* mp_ass_subscript */ + }, + { +@@ -15795,7 +15829,7 @@ + "preludedb.ResultValuesRow", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_ResultValuesRow_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_ResultValuesRow_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -15804,11 +15838,11 @@ + #else + (cmpfunc) 0, /* tp_compare */ + #endif +- (reprfunc) (reprfunc) _wrap_ResultValuesRow_toString_reprfunc_closure,/* tp_repr */ ++ _wrap_ResultValuesRow_toString_reprfunc_closure, /* tp_repr */ + &SwigPyBuiltin__PreludeDB__DB__ResultValues__ResultValuesRow_type.as_number,/* tp_as_number */ + &SwigPyBuiltin__PreludeDB__DB__ResultValues__ResultValuesRow_type.as_sequence,/* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__DB__ResultValues__ResultValuesRow_type.as_mapping,/* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -15822,9 +15856,9 @@ + "PreludeDB::DB::ResultValues::ResultValuesRow", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__DB__ResultValues__ResultValuesRow_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__DB__ResultValues__ResultValuesRow_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_ResultValuesRow___iter___getiterfunc_closure,/* tp_iter */ ++ _wrap_ResultValuesRow___iter___getiterfunc_closure, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + SwigPyBuiltin__PreludeDB__DB__ResultValues__ResultValuesRow_methods,/* tp_methods */ + 0, /* tp_members */ +@@ -15833,8 +15867,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_ResultValuesRow, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_ResultValuesRow, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -15928,8 +15962,8 @@ + #endif + }, + { +- (lenfunc) (lenfunc) _wrap_ResultValuesRow_count_lenfunc_closure,/* mp_length */ +- (binaryfunc) (binaryfunc) _wrap_ResultValuesRow_get_binaryfunc_closure,/* mp_subscript */ ++ _wrap_ResultValuesRow_count_lenfunc_closure, /* mp_length */ ++ _wrap_ResultValuesRow_get_binaryfunc_closure, /* mp_subscript */ + (objobjargproc) 0, /* mp_ass_subscript */ + }, + { +@@ -16010,7 +16044,7 @@ + "preludedb.PreludeDBError", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_PreludeDBError_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_PreludeDBError_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -16023,7 +16057,7 @@ + &SwigPyBuiltin__PreludeDB__PreludeDBError_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__PreludeDBError_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__PreludeDBError_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -16037,7 +16071,7 @@ + "PreludeDB::PreludeDBError", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__PreludeDBError_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__PreludeDBError_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ +@@ -16048,8 +16082,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_PreludeDBError, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_PreludeDBError, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -16234,7 +16268,7 @@ + "preludedb.SQL", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_SQL_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_SQL_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -16247,7 +16281,7 @@ + &SwigPyBuiltin__PreludeDB__SQL_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__SQL_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__SQL_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -16261,7 +16295,7 @@ + "PreludeDB::SQL", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__SQL_richcompare, /* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__SQL_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ +@@ -16272,8 +16306,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_SQL, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_SQL, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -16461,7 +16495,7 @@ + "preludedb.Table", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_Table_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_Table_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -16470,11 +16504,11 @@ + #else + (cmpfunc) 0, /* tp_compare */ + #endif +- (reprfunc) (reprfunc) _wrap_Table_toString_reprfunc_closure, /* tp_repr */ ++ _wrap_Table_toString_reprfunc_closure, /* tp_repr */ + &SwigPyBuiltin__PreludeDB__SQL__Table_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__SQL__Table_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__SQL__Table_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -16488,9 +16522,9 @@ + "PreludeDB::SQL::Table", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__SQL__Table_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__SQL__Table_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_Table___iter___getiterfunc_closure,/* tp_iter */ ++ _wrap_Table___iter___getiterfunc_closure, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + SwigPyBuiltin__PreludeDB__SQL__Table_methods, /* tp_methods */ + 0, /* tp_members */ +@@ -16499,8 +16533,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_Table, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_Table, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -16594,8 +16628,8 @@ + #endif + }, + { +- (lenfunc) (lenfunc) _wrap_Table_count_lenfunc_closure, /* mp_length */ +- (binaryfunc) (binaryfunc) _wrap_Table_get_binaryfunc_closure, /* mp_subscript */ ++ _wrap_Table_count_lenfunc_closure, /* mp_length */ ++ _wrap_Table_get_binaryfunc_closure, /* mp_subscript */ + (objobjargproc) 0, /* mp_ass_subscript */ + }, + { +@@ -16682,7 +16716,7 @@ + "preludedb.Row", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ +- (destructor) (destructor) _wrap_delete_Row_destructor_closure,/* tp_dealloc */ ++ _wrap_delete_Row_destructor_closure, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ +@@ -16691,11 +16725,11 @@ + #else + (cmpfunc) 0, /* tp_compare */ + #endif +- (reprfunc) (reprfunc) _wrap_Row_toString_reprfunc_closure, /* tp_repr */ ++ _wrap_Row_toString_reprfunc_closure, /* tp_repr */ + &SwigPyBuiltin__PreludeDB__SQL__Table__Row_type.as_number, /* tp_as_number */ + &SwigPyBuiltin__PreludeDB__SQL__Table__Row_type.as_sequence, /* tp_as_sequence */ + &SwigPyBuiltin__PreludeDB__SQL__Table__Row_type.as_mapping, /* tp_as_mapping */ +- (hashfunc) SwigPyObject_hash, /* tp_hash */ ++ SwigPyObject_hash, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ +@@ -16709,9 +16743,9 @@ + "PreludeDB::SQL::Table::Row", /* tp_doc */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ +- (richcmpfunc) SwigPyBuiltin__PreludeDB__SQL__Table__Row_richcompare,/* tp_richcompare */ ++ SwigPyBuiltin__PreludeDB__SQL__Table__Row_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +- (getiterfunc) (getiterfunc) _wrap_Row___iter___getiterfunc_closure,/* tp_iter */ ++ _wrap_Row___iter___getiterfunc_closure, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + SwigPyBuiltin__PreludeDB__SQL__Table__Row_methods, /* tp_methods */ + 0, /* tp_members */ +@@ -16720,8 +16754,8 @@ + 0, /* tp_dict */ + (descrgetfunc) 0, /* tp_descr_get */ + (descrsetfunc) 0, /* tp_descr_set */ +- (Py_ssize_t) offsetof(SwigPyObject, dict),/* tp_dictoffset */ +- (initproc) _wrap_new_Row, /* tp_init */ ++ offsetof(SwigPyObject, dict), /* tp_dictoffset */ ++ _wrap_new_Row, /* tp_init */ + (allocfunc) 0, /* tp_alloc */ + (newfunc) 0, /* tp_new */ + (freefunc) 0, /* tp_free */ +@@ -16815,8 +16849,8 @@ + #endif + }, + { +- (lenfunc) (lenfunc) _wrap_Row_count_lenfunc_closure, /* mp_length */ +- (binaryfunc) (binaryfunc) _wrap_Row_get_binaryfunc_closure, /* mp_subscript */ ++ _wrap_Row_count_lenfunc_closure, /* mp_length */ ++ _wrap_Row_get_binaryfunc_closure, /* mp_subscript */ + (objobjargproc) 0, /* mp_ass_subscript */ + }, + { +@@ -17391,10 +17425,10 @@ + + SWIGINTERN int + swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { +- char *tmp; + PyObject *str = swig_varlink_str(v); ++ const char *tmp = SWIG_Python_str_AsChar(str); + fprintf(fp,"Swig global variables "); +- fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str)); ++ fprintf(fp,"%s\n", tmp ? tmp : "Invalid global variable"); + SWIG_Python_str_DelForPy3(tmp); + Py_DECREF(str); + return 0; +@@ -17613,9 +17647,9 @@ + char *ndoc = (char*)malloc(ldoc + lptr + 10); + if (ndoc) { + char *buff = ndoc; +- strncpy(buff, methods[i].ml_doc, ldoc); ++ memcpy(buff, methods[i].ml_doc, ldoc); + buff += ldoc; +- strncpy(buff, "swig_ptr: ", 10); ++ memcpy(buff, "swig_ptr: ", 10); + buff += 10; + SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); + methods[i].ml_doc = ndoc; +--- ./bindings/python/preludedb.py 2018-12-23 22:18:19.680000000 +0100 ++++ ./bindings/python/preludedb.py 2019-07-13 08:40:12.097036586 +0200 +@@ -1,5 +1,5 @@ + # This file was automatically generated by SWIG (http://www.swig.org). +-# Version 3.0.12 ++# Version 4.0.0 + # + # Do not make changes to this file unless you know what you are doing--modify + # the SWIG interface file instead. +@@ -62,16 +62,16 @@ + import __builtin__ + + def _swig_setattr_nondynamic(self, class_type, name, value, static=1): +- if (name == "thisown"): ++ if name == "thisown": + return self.this.own(value) +- if (name == "this"): ++ if name == "this": + if type(value).__name__ == 'SwigPyObject': + self.__dict__[name] = value + return + method = class_type.__swig_setmethods__.get(name, None) + if method: + return method(self, value) +- if (not static): ++ if not static: + object.__setattr__(self, name, value) + else: + raise AttributeError("You cannot add attributes to %s" % self) +@@ -82,7 +82,7 @@ + + + def _swig_getattr(self, class_type, name): +- if (name == "thisown"): ++ if name == "thisown": + return self.this.own() + method = class_type.__swig_getmethods__.get(name, None) + if method: +@@ -100,7 +100,7 @@ + + def _swig_setattr_nondynamic_method(set): + def set_attr(self, name, value): +- if (name == "thisown"): ++ if name == "thisown": + return self.this.own(value) + if hasattr(self, name) or (name == "this"): + set(self, name, value) diff --git a/libpreludedb-5.0.0-fix_py38.patch b/libpreludedb-5.0.0-fix_py38.patch new file mode 100644 index 0000000..3354cb1 --- /dev/null +++ b/libpreludedb-5.0.0-fix_py38.patch @@ -0,0 +1,11 @@ +--- ./bindings/python/_preludedb.cxx 2019-07-13 08:39:59.744285379 +0200 ++++ ./bindings/python/_preludedb.cxx 2019-07-13 08:41:47.364117843 +0200 +@@ -3133,7 +3133,7 @@ + + SWIGINTERN void + SwigPyStaticVar_dealloc(PyDescrObject *descr) { +- _PyObject_GC_UNTRACK(descr); ++ PyObject_GC_UnTrack(descr); + Py_XDECREF(PyDescr_TYPE(descr)); + Py_XDECREF(PyDescr_NAME(descr)); + PyObject_GC_Del(descr); diff --git a/libpreludedb.spec b/libpreludedb.spec index 8b993ac..218c3bc 100644 --- a/libpreludedb.spec +++ b/libpreludedb.spec @@ -5,7 +5,7 @@ Name: libpreludedb Version: 5.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Framework for easy access to the IDMEF database # Prelude is GPL-2.0+ # libmissing is LGPL-2.1+ @@ -16,6 +16,8 @@ Source0: https://www.prelude-siem.org/pkg/src/%{version}/%{name}-%{versio Patch0: libpreludedb-5.0.0-manpages.patch # https://www.prelude-siem.org/issues/867 Patch1: libpreludedb-5.0.0-undefined_non_weak_symbol.patch +Patch2: libpreludedb-5.0.0-bump_swig_files_to_swig4.patch +Patch3: libpreludedb-5.0.0-fix_py38.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: bison @@ -203,6 +205,9 @@ chmod +x %{buildroot}%{_datadir}/%{name}/classic/mysql2sqlite.sh %doc ChangeLog README NEWS %changelog +* Sat Jul 13 2019 Thomas Andrejak - 5.0.0-2 +- Fix FTBFS with Python 3.8 (#1706207) + * Tue Feb 26 2019 Thomas Andrejak - 5.0.0-1 - Bump version 5.0.0