From: Alvaro Herrera <alvherre@commandprompt.com>
To: Gregory Stark <stark@enterprisedb.com>
Cc: Michael Glaesemann <grzm@seespotcode.net>
Cc: Richard Broersma Jr <rabroersma@yahoo.com>
Cc: SQL Postgresql List <pgsql-sql@postgresql.org>
Subject: Re: SELECT syntax synopsis: column_definition?
Date: Tue, 21 Aug 2007 21:55:44 -0400
Message-ID: <20070822015544.GB12717@alvh.no-ip.org> (raw)
In-Reply-To: <87zm0kigwe.fsf@oxford.xeocode.com>
References: <830878.14424.qm@web31803.mail.mud.yahoo.com>
<50700110-2B0D-4935-B033-084ED908BEC5@seespotcode.net>
<87zm0kigwe.fsf@oxford.xeocode.com>
Gregory Stark wrote:
> "Michael Glaesemann" <grzm@seespotcode.net> writes:
>
> > ERROR: a column definition list is only allowed for functions returning
> > "record"
> >
> > So the *form* is right, but I don't know of an example that works.
>
> postgres=# create function testf() returns record as 'select 1' language sql;
> CREATE FUNCTION
> postgres=# select * from testf() as (i integer);
> i
> ---
> 1
> (1 row)
>
>
> I haven't quite figured out how this is useful though. It probably makes more
> sense if you use plpgsql but I still don't quite see what the use case is.
Any function declared as returning SETOF RECORD needs it, when you don't
use OUT params. Before OUT params existed, it was the only way to use
those functions.
--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
"The eagle never lost so much time, as
when he submitted to learn of the crow." (William Blake)
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: alvherre@commandprompt.com, stark@enterprisedb.com, grzm@seespotcode.net, rabroersma@yahoo.com
Subject: Re: SELECT syntax synopsis: column_definition?
In-Reply-To: <20070822015544.GB12717@alvh.no-ip.org>
* 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