Re: pl/python composite type array as input parameter

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Filipe Pina <filipe(dot)pina(at)impactzero(dot)pt>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Postgresql General <pgsql-general(at)postgresql(dot)org>
Subject: Re: pl/python composite type array as input parameter
Date: 2015-06-02 00:44:31
Message-ID: 556CFC6F.90805@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 06/01/2015 07:42 AM, Filipe Pina wrote:
> Thanks for the reply anyway, it's a pity though, it'd be useful..
>
> Another bump I've found along the pl/python road: insert ROWTYPE in table..
> Maybe you have some hint on that? :)
>
> So, in PLPGSQL I can:
>
> DECLARE
> my_var my_table;
> BEGIN
> my_var.col1 := 'asd';
> INSERT INTO my_table VALUES(my_table.*);
> END;
>
> How would I do something like that in pl/python?
>
> First, how to declare a ROW-TYPE variable, as they're all python mappings?
>
> my_var = { 'col1': 'asd' } enough? it'd would miss all the other columns...
>
> Second, how to insert it?
>
> plpy.prepare and .execute say they don't support composite types, so I
> cannot simply pass
>
> pl = plpy.prepare('INSERT INTO core_customer VALUES ($1)', ['my_table'])
>
> Any workarounds for this? (meaning I wouldn't have to specify any
> columns in the insert statement)

http://www.postgresql.org/docs/9.4/interactive/sql-insert.html

pl = plpy.prepare('INSERT INTO core_table SELECT * FROM my_table')

>
> Thanks
>
> On Sex, Mai 29, 2015 at 2:00 , Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
>> On 5/18/15 10:52 AM, Filipe Pina wrote:
>>
>> But one of the functions I need to create needs to accept an array
>> of records.
>>
>> PL/Python doesn't support that. Some more code needs to be written to
>> support that. You did everything correctly. I don't know of a good
>> workaround.

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Arthur Silva 2015-06-02 02:11:37 Re: advocating LTS release and feature-train release cycles
Previous Message John R Pierce 2015-06-01 22:52:01 Re: odbc to emulate mysql for end programs