Re: Returning sets from functions?

From: mig(at)utdt(dot)edu
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Returning sets from functions?
Date: 2000-04-23 15:02:01
Message-ID: 200004231502.MAA05163@ant.utdt
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Sorry, I forgot part of my question in the previous message:

How do you return a "setof" value from a PG/Tcl procedure? Returning
a list does not seem to work ...

### PREVIOUS MESSAGE WAS ...

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.

Apparently the phrase
select followers('h');
returns a set with members which are 'setof text'. psql has no trouble
displaying all rows, but the parser does ...

So, my question is: can I produce a set in a function so that it
mimicks perfectly the return set of a select query?

I am using PG 6.5.3; is this already solved in the 7.0 beta?

Thanks

Miguel Sofer

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2000-04-23 21:32:01 Re: Re: Returning sets from functions?
Previous Message Tom Lane 2000-04-23 14:57:45 Re: TOAST (was: BLOB)