From: | mig(at)utdt(dot)edu |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Returning sets from functions? |
Date: | 2000-04-23 14:15:20 |
Message-ID: | 200004231415.LAA04384@ant.utdt |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-04-23 14:57:45 | Re: TOAST (was: BLOB) |
Previous Message | Peter Eisentraut | 2000-04-23 13:48:26 | Re: TOAST (was: BLOB) |