Allow pl/pythonu >= version 2.3 to return boolean, rather than 1/0.

Marko Kreen
This commit is contained in:
Bruce Momjian 2007-04-03 15:50:58 +00:00
parent 749167cf2a
commit bfe8b89e41

View File

@ -1,7 +1,7 @@
/********************************************************************** /**********************************************************************
* plpython.c - python as a procedural language for PostgreSQL * plpython.c - python as a procedural language for PostgreSQL
* *
* $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.98 2007/04/03 13:37:22 momjian Exp $ * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.99 2007/04/03 15:50:58 momjian Exp $
* *
********************************************************************* *********************************************************************
*/ */
@ -32,6 +32,14 @@ typedef int Py_ssize_t;
#define PY_SSIZE_T_MIN INT_MIN #define PY_SSIZE_T_MIN INT_MIN
#endif #endif
/*
* PyBool_FromLong is supported from 2.3.
*/
#if PY_VERSION_HEX < 0x02030000
#define PyBool_FromLong(x) PyInt_FromLong(x)
#endif
#include "postgres.h" #include "postgres.h"
/* system stuff */ /* system stuff */
@ -1600,8 +1608,8 @@ PLyBool_FromString(const char *src)
* versions. http://docs.python.org/api/boolObjects.html * versions. http://docs.python.org/api/boolObjects.html
*/ */
if (src[0] == 't') if (src[0] == 't')
return PyInt_FromLong(1); return PyBool_FromLong(1);
return PyInt_FromLong(0); return PyBool_FromLong(0);
} }
static PyObject * static PyObject *