BUG #5783: plpythonu bool behavior change

From: "Adrian Klaver" <adrian(dot)klaver(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5783: plpythonu bool behavior change
Date: 2010-12-05 00:25:27
Message-ID: 201012050025.oB50PRwx076625@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5783
Logged by: Adrian Klaver
Email address: adrian(dot)klaver(at)gmail(dot)com
PostgreSQL version: 9.0.1
Operating system: Linux Ubuntu 10.04
Description: plpythonu bool behavior change
Details:

Seems there was a change in behavior for plpythonu with regards to boolean
fields from 8.4 to 9.0. Previously, setting a field inside a plpythonu
function to "f" would work, now that returns a 't' in the database field. To
get the 'f' to appear I have to specify False inside the function. The only
thing I can find in recent commits that would apply is:
http://git.postgresql.org/gitweb?p=postgresql.git;a=commit;h=09130e5867d49c7
2ef0f11bef30c5385d83bf194

Below is test case that illustrates what I am seeing in 9.0.1:

DROP TABLE IF EXISTS plpython_type;
CREATE TABLE plpython_type
(id integer,
txt_fld text,
bool_fld boolean
);

DROP FUNCTION IF EXISTS plpython_test();
CREATE OR REPLACE FUNCTION plpython_test()
RETURNS trigger AS
$Body$
TD["new"]["bool_fld"] = "f"
return "MODIFY"
$Body$
LANGUAGE plpythonu;

CREATE TRIGGER plpython_trg
BEFORE INSERT
ON plpython_type
FOR EACH ROW
EXECUTE PROCEDURE plpython_test();

INSERT INTO plpython_type VALUES (1,'test');

CREATE OR REPLACE FUNCTION plpython_test()
RETURNS trigger AS
$Body$
TD["new"]["bool_fld"] = False
return "MODIFY"
$Body$
LANGUAGE plpythonu;

INSERT INTO plpython_type VALUES (2,'test');

SELECT * FROM plpython_type;

Result:

id | txt_fld | bool_fld
----+---------+----------
1 | test | t
2 | test | f
(2 rows)

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Martin Atukunda 2010-12-05 06:50:51 BUG #5784: CREATE INDEX USING GIN complains about array containing null values yet none exist
Previous Message Kevin Grittner 2010-12-04 22:09:24 Re: TRUNCATE HANGS