Allow pl/pythonu >= version 2.3 to return boolean, rather than 1/0.
authorBruce Momjian <bruce@momjian.us>
Tue, 3 Apr 2007 15:50:58 +0000 (15:50 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 3 Apr 2007 15:50:58 +0000 (15:50 +0000)
Marko Kreen

src/pl/plpython/plpython.c

index c928fc3781969129d573b0948360bd7e5ff6323a..c27ce1152f395b5a3441788eca9a327b874602de 100644 (file)
@@ -32,6 +32,14 @@ typedef int Py_ssize_t;
 #define PY_SSIZE_T_MIN INT_MIN
 #endif
 
+/*
+ * PyBool_FromLong is supported from 2.3.
+ */
+#if PY_VERSION_HEX < 0x02030000
+#define PyBool_FromLong(x) PyInt_FromLong(x)
+#endif
+
+
 #include "postgres.h"
 
 /* system stuff */
@@ -1600,8 +1608,8 @@ PLyBool_FromString(const char *src)
         *      versions.  http://docs.python.org/api/boolObjects.html
         */
        if (src[0] == 't')
-               return PyInt_FromLong(1);
-       return PyInt_FromLong(0);
+               return PyBool_FromLong(1);
+       return PyBool_FromLong(0);
 }
 
 static PyObject *