pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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>




view thread (4+ messages)  latest in thread

Message-ID: <1117466155.20420.7.camel@dicaprio.akademie1.de>
Permalink:  ../1117466155.20420.7.camel@dicaprio.akademie1.de/
Also on:    postgresql.org/message-id/1117466155.20420.7.camel@dicaprio.akademie1.de

 · 

reply

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