Re: pgsql: Fix for plpython functions; return true/false for boolean,

Поиск
Список
Период
Сортировка
От Guido Goldstein
Тема Re: pgsql: Fix for plpython functions; return true/false for boolean,
Дата
Msg-id 45BF4DB8.7060909@a-nugget.org
обсуждение исходный текст
Ответ на Re: pgsql: Fix for plpython functions; return true/false for boolean,  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: pgsql: Fix for plpython functions; return true/false for boolean,  (Hannu Krosing <hannu@skype.net>)
Re: pgsql: Fix for plpython functions; return true/false for boolean,  (Bruce Momjian <bruce@momjian.us>)
Re: pgsql: Fix for plpython functions; return true/false for boolean,  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
Peter Eisentraut wrote:
> Guido Goldstein wrote:
>> Is it possible to tell me which python versions you want to
>> support?
>
> The issue isn't so much which versions we want to support.  There is
> certainly some flexibility with that.  But when a patch breaks the
> buildfarm a) unannounced and b) without any apparent feature gain, then
> people get annoyed.

If this breaks the buildfarm it's not my failure.
Except you can tell me what I've got to do with the
buildfarm.

If you mean that plpython didn't compile, fine; simply tell
the people what version they should consider when sending
in patches.

I've checked the patch with postgres 8.1.3 and 8.2.1
with python 2.4 and 2.5 on intel 32 bit and amd 64 bit
systems; all systems running linux.

*And* it's not a feature patch but a bug-fixing one!
Python is a language with strong typing, so silently
converting a datatype is a bug -- not a feature.
Btw, you'll lose the type information of boolean columns in
trigger functions (NEW and OLD dicts, no explicit parameters),
which does cause problems.

> That said, we certainly try to support a few more versions of Python
[...]

If you want to support python 2.3 use the attached patch, which also
works for the newer python versions.
The Python 2.3 branch is the oldest _officially_ supported python version.

Anyway, to circumvent the above mentiond point a) I herewith anncounce
that the included patch might break the buildfarm.

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);
+        return PyBool_FromLong(1);
+    return PyBool_FromLong(0);
 }

 static PyObject *

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

Предыдущее
От: Teodor Sigaev
Дата:
Сообщение: Proposal for partial resove issue of GIN fullscan.
Следующее
От: Gregory Stark
Дата:
Сообщение: Re: "May", "can", "might"