From: Adrian Klaver <aklaver@comcast.net>
To: pgsql-sql@postgresql.org
Subject: Re: Function returning SETOF using plpythonu
Date: Mon, 29 Jan 2007 06:29:43 -0800
Message-ID: <200701290629.43520.aklaver@comcast.net> (raw)
In-Reply-To: <45BE00CA.1060106@ualg.pt>
References: <45BA3964.8070704@ualg.pt>
<pan.2007.01.26.22.17.58.397717@gmail.com>
<45BE00CA.1060106@ualg.pt>
On Monday 29 January 2007 6:12 am, Luís Sousa wrote:
> Thanks :-)
> That worked fine.
>
> >plpy.execute returns dictionary, and you need a list. You may try this:
> >
> >CREATE FUNCTION "test_python_setof"()
> >RETURNS SETOF text AS '
> > records=plpy.execute("SELECT name FROM interface");
> > return [ (r["name"]) for r in records]
> >' LANGUAGE 'plpythonu';
>
> Then I tried to do some changes and try to return a SETOF type:
> CREATE TYPE "test_python_t" AS (
> name varchar(50)
> );
>
> CREATE FUNCTION "test_python_setof"()
> RETURNS SETOF test_python_t AS '
> records=plpy.execute("SELECT name FROM interface");
> return [ (r["name"]) for r in records]
> ' LANGUAGE 'plpythonu';
>
> And I'm getting ERROR: tuple return types are not supported yet.
>
> On my production database server I'm using PostgreSQL 7.4 and using
> language plpgsql I'm returning some SETOF type without problems.
> Is this a feature that's missing on this version or I'm I doing
> something wrong on code? If is a feature missing, is already implemented
> on some version afterwards?
>
> Best regards,
> Luís Sousa
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
> http://archives.postgresql.orgSETOF in pl/pythonu appeared in 8.2
--
Adrian Klaver
aklaver@comcast.net
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: aklaver@comcast.net
Subject: Re: Function returning SETOF using plpythonu
In-Reply-To: <200701290629.43520.aklaver@comcast.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox