Fix for bug in plpython bool type conversion

Поиск
Список
Период
Сортировка
От Guido Goldstein
Тема Fix for bug in plpython bool type conversion
Дата
Msg-id 45AE589C.603@a-nugget.org
обсуждение исходный текст
Ответы Re: Fix for bug in plpython bool type conversion  (Bruce Momjian <bruce@momjian.us>)
Re: Fix for bug in plpython bool type conversion  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
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 *

В списке pgsql-hackers по дате отправления:

Предыдущее
От: jhaile@gmail.com
Дата:
Сообщение: Re: PostgreSQL win32 fragmentation issue
Следующее
От: Kenji Kawamura
Дата:
Сообщение: pg_trigger.tgargs needs detoast