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

2007-01-25 Thread Bruce Momjian

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.c2006-11-21 
  22:51:05.0 +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]
   EnterpriseDBhttp://www.enterprisedb.com
 
   + If your life is a hard drive, Christ can be your backup. +

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDBhttp://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


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

2007-01-24 Thread Bruce Momjian

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.0 +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]
  EnterpriseDBhttp://www.enterprisedb.com

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

---(end of broadcast)---
TIP 6: explain analyze is your friend


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

2007-01-19 Thread Bruce Momjian

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.0 +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]
  EnterpriseDBhttp://www.enterprisedb.com

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

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly