Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: PL/Python set returning functions


  • From: Michael Fuhr <mike(at)fuhr(dot)org>
  • To: "Joshua D. Drake" <jd(at)commandprompt(dot)com>
  • Cc: Eugene Prokopiev <prokopiev(at)stc(dot)donpac(dot)ru>, pgsql-interfaces(at)postgresql(dot)org
  • Subject: Re: PL/Python set returning functions
  • Date: Thu, 1 Dec 2005 13:26:47 -0700
  • Message-id: <20051201202646.GA66766@winnie.fuhr.org> <text/plain>

On Thu, Dec 01, 2005 at 11:02:38AM -0800, Joshua D. Drake wrote:
> Eugene Prokopiev wrote:
> >How can I return some rows from my PL/Python function?
> >
> >I wrote:
> >
> >dbmail=# create type composite as (id bigint, name text);
> >CREATE TYPE
> >dbmail=# create or replace function csrf() returns setof composite as $$
> >dbmail$# return ((1, "james"), (2, "bob"), (3, "fargus"))
> >dbmail$# $$ language plpythonu;
> >CREATE FUNCTION
> >dbmail=# select csrf();
> >ERROR:  plpython functions cannot return tuples yet
> >
> select * from csrf();

Not in this case:

test=# select * from csrf();
ERROR:  plpython functions cannot return tuples yet

As far as I can tell from the source code, PL/Python doesn't support
returning composite types or sets (somebody please correct me if I'm
mistaken).

You might want to investigate PostgresPy.  I haven't used it myself
and I think it's still in development, but it's probably worth a look
if you're using Python.  I'm sure the developer would appreciate any
feedback.

http://python.projects.postgresql.org/

-- 
Michael Fuhr



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group