Hi, I have tried it on PostgreSQL 8.0.3 and following query gives the result
SELECT ( DECORATE( FIND )).* FROM FIND() Regards, R.Muralidharan -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of [EMAIL PROTECTED] Sent: Monday, May 30, 2005 8:46 PM To: 'pgsql-sql@postgresql.org' Subject: [SQL] Impossible with pl/pgsql? Hi, I have a function find() that returns a SETOF INT. I further have a function decorate as follows: CREATE TYPE decorate_type AS (id INT, name TEXT, author TEXT, last_change TIMESTAMP); CREATE FUNCTION decorate(INT) RETURNS decorate_type STABLE LANGUAGE 'plpgsql' AS ' -- BLACK BOX '; Now I can do SELECT decorate(4); (4,egg,john,2003-05-05) and I can do SELECT * FROM decorate(4); id | name | author | last_change -------------------------------- 4 | egg | john | 2003-05-05 SELECT * FROM decorate(5); id | name | author | last_change -------------------------------- 5 | ham | dave | 2004-03-01 Let's say find() gives me 4 and 5: SELECT * FROM find(); find ---- 4 5 Now how would a query look like that involves find() and decorate() and returns id | name | author | last_change -------------------------------- 4 | egg | john | 2003-05-05 5 | ham | dave | 2004-03-01 I can't figure this out for the life of me. I also have the impression that that's impossible to do without changing find() or decorate(). Markus -- Markus Bertheau ☭ <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])