From: | Luís Sousa <llsousa(at)ualg(dot)pt> |
---|---|
To: | pgsql-sql <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Function returning SETOF using plpythonu |
Date: | 2007-01-29 14:12:26 |
Message-ID: | 45BE00CA.1060106@ualg.pt |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2007-01-29 14:29:43 | Re: Function returning SETOF using plpythonu |
Previous Message | Andrew Sullivan | 2007-01-29 13:00:36 | Re: Very strange postgresql behaviour |