From: Markus Bertheau ☭ <twanger@bluetwanger.de>
To: 'pgsql-sql@postgresql.org' <pgsql-sql@postgresql.org>
Subject: Impossible with pl/pgsql?
Date: Mon, 30 May 2005 17:15:55 +0200
Message-ID: <1117466155.20420.7.camel@dicaprio.akademie1.de> (raw)
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 ☭ <twanger@bluetwanger.de>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: twanger@bluetwanger.de
Subject: Re: Impossible with pl/pgsql?
In-Reply-To: <1117466155.20420.7.camel@dicaprio.akademie1.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox