On Tue, Oct 20, 2009 at 12:19 PM, <landrevi...@deadtreepages.com> wrote: > > 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.
See Peter's note here - apparently this is not supported. http://archives.postgresql.org/pgsql-bugs/2009-11/msg00073.php ...Robert -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs