I have had to reverse out this patch because Py_RETURN_TRUE is only supported in Python versions >= 2.3, and we support older versions. I did add a comment:
* We would like to use Py_RETURN_TRUE and Py_RETURN_FALSE here for * generating SQL from trigger functions, but those are only * supported in Python >= 2.3, and we support older * versions. http://docs.python.org/api/boolObjects.html --------------------------------------------------------------------------- bruce wrote: > > Your patch has been added to the PostgreSQL unapplied patches list at: > > http://momjian.postgresql.org/cgi-bin/pgpatches > > It will be applied as soon as one of the PostgreSQL committers reviews > and approves it. > > --------------------------------------------------------------------------- > > > Guido Goldstein wrote: > > Hi! > > > > The attached patch fixes a bug in plpython. > > > > This bug was found while creating sql from trigger functions > > written in plpython and later running the generated sql. > > The problem was that boolean was was silently converted to > > integer, which is ok for python but fails when the created > > sql is used. > > > > The patch uses the Py_RETURN_xxx macros shown at > > http://docs.python.org/api/boolObjects.html . > > > > It would be nice if someone could test and comment > > on the patch. > > > > Cheers > > Guido > > > --- postgresql-8.2.1.orig/src/pl/plpython/plpython.c 2006-11-21 > > 22:51:05.000000000 +0100 > > +++ postgresql-8.2.1/src/pl/plpython/plpython.c 2007-01-17 > > 18:06:58.185497734 +0100 > > @@ -1580,8 +1580,8 @@ > > PLyBool_FromString(const char *src) > > { > > if (src[0] == 't') > > - return PyInt_FromLong(1); > > - return PyInt_FromLong(0); > > + Py_RETURN_TRUE; > > + Py_RETURN_FALSE; > > } > > > > static PyObject * > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 5: don't forget to increase your free space map settings > > -- > Bruce Momjian [EMAIL PROTECTED] > EnterpriseDB http://www.enterprisedb.com > > + If your life is a hard drive, Christ can be your backup. + -- Bruce Momjian [EMAIL PROTECTED] EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match