Re: [HACKERS] Fix for bug in plpython bool type conversion

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Guido Goldstein <pgpatches(at)a-nugget(dot)org>
Cc: pgsql-patches(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Fix for bug in plpython bool type conversion
Date: 2007-01-25 04:08:58
Message-ID: 200701250408.l0P48wW13229@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches


Patch applied. Thanks.

---------------------------------------------------------------------------

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 bruce(at)momjian(dot)us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2007-01-25 04:18:34 Re: pg_trigger.tgargs needs detoast
Previous Message Bruce Momjian 2007-01-25 04:08:51 pgsql: Fix for plpython functions; return true/false for boolean,

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2007-01-25 04:35:07 Re: [PATCHES] Tablespace for temporary
Previous Message Bruce Momjian 2007-01-25 04:08:51 pgsql: Fix for plpython functions; return true/false for boolean,