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

Reply via email to