The following bug has been logged online: Bug reference: 5128 Logged by: Email address: landrevi...@deadtreepages.com PostgreSQL version: 8.4 Operating system: FreeBSD Description: Returning nested composite types in plpython Details:
I have nested custom types and when I try to return a mapping in python the nested type gives me a malform record error. Here is my test code and the error: create type type1 as ( col1 text, col2 text ); create type type2 as ( col1 text, col2 text, test_type type1 ); create function returnComposite(test_one text, test_three text) RETURNS type2 as $$ return {'col1': test_one, 'col2': test_one, 'test_type': {'col1': test_two, 'col2': test_two}} $$ language plpythonu; select returnComposite('test1','test2') ERROR: malformed record literal: "{'col2': 'test2', 'col1': 'test2'}" SQL state: 22P02 Detail: Missing left parenthesis. If I put the nested type as ('test': test_two) it will return me the type but it includes extra quotes. The only way to make this work is make a select using plpy returning a type2 column. It would seem that the nested composite type is not being processed by plpython and going straight to the rowtypes processing. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs