Re: Re: Returning sets from functions?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: mig(at)utdt(dot)edu
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Re: Returning sets from functions?
Date: 2000-04-23 21:32:01
Message-ID: 14698.956525521@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

mig(at)utdt(dot)edu writes:
> Consider
> create function followers(text) returns setof text as
> 'select id from ids where id > $1 '
> language 'sql';

> The function seems to work OK:
> select followers('h');
> does return all indexes after the index 'h'.

> On the other hand,
> select * from ids where id in (select followers('h'));
> produces the message
> ERROR: An operand to the '=' operator returns a set of text,
> but '=' takes single values, not sets.

Seems to work in 7.0, which actually surprises me quite a bit ;-).
Functions returning sets are only very shakily implemented right now.
We've cured a few bugs since 6.5, but it's going to be difficult
to make much further progress with them until the fabled querytree
redesign happens (which will also bring outer joins and some other
good stuff). Current plans are to tackle that for 7.2, which might
be out by the end of the year or so.

> Sorry, I forgot part of my question in the previous message:
> How do you return a "setof" value from a PG/Tcl procedure?

Right now I think you can't ...

regards, tom lane

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Lincoln Yeoh 2000-04-24 02:37:20 Re: Connecting website with SQL-database.....
Previous Message mig 2000-04-23 15:02:01 Re: Returning sets from functions?