Re: BUG #5128: Returning nested composite types in plpython

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: landreville(at)deadtreepages(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5128: Returning nested composite types in plpython
Date: 2009-11-09 12:23:24
Message-ID: 603c8f070911090423y7b8df382u5a77c0fd95befcdb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Oct 20, 2009 at 12:19 PM, <landreville(at)deadtreepages(dot)com> wrote:
>
> The following bug has been logged online:
>
> Bug reference:      5128
> Logged by:
> Email address:      landreville(at)deadtreepages(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tim van Loon 2009-11-09 21:28:51 postgresql installing problems
Previous Message Greg Stark 2009-11-09 11:25:03 Re: odd deadlock on CREATE TABLE AS SELECT