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: pgsql-sql-owner@postgresql.org
[mailto:pgsql-sql-owner@postgresql.org]On Behalf Of
twanger@bluetwanger.de
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_typeSTABLELANGUAGE '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-055 | 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 ☭ <twanger@bluetwanger.de>
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend