From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: David G. Johnston <david.g.johnston@gmail.com>
Cc: Guyren Howe <guyren@gmail.com>
Cc: Pg Docs <pgsql-docs@lists.postgresql.org>
Subject: Re: Please provide examples of rows from
Date: Sat, 19 Sep 2020 20:49:53 -0400
Message-ID: <798909.1600562993@sss.pgh.pa.us> (raw)
In-Reply-To: <20200920003910.GA22746@momjian.us>
References: <158638264419.662.2482095087061084020@wrigleys.postgresql.org>
<20200904014618.GB13932@momjian.us>
<CAKFQuwbBDr22KJRyJQRECO_XU6cyouwz3ocn0Tv4JgG4Gm5hMQ@mail.gmail.com>
<20200920003910.GA22746@momjian.us>
Bruce Momjian <bruce@momjian.us> writes:
> test=> \df pg_get_keywords
> List of functions
> Schema | Name | Result data type | Argument data types | Type
> ------------+-----------------+------------------+-----------------------------------------------------------------------------------------------+------
> pg_catalog | pg_get_keywords | SETOF record | OUT word text, OUT catcode "char", OUT barelabel boolean, OUT catdesc text, OUT baredesc text | func
> (1 row)
> test=> select * from pg_get_keywords() AS f(word text);
> --> ERROR: a column definition list is only allowed for functions returning "record"
> LINE 1: select * from pg_get_keywords() AS f(word text);
Yeah, this error message needs some help. With a function having
multiple OUT parameters, the prorettype is indeed "record", but
the specific record type is implied by the OUT parameters so you
do not need to (and can't) specify it in the query.
The point of the AS feature is to allow specifying the concrete
record type for record-returning functions that don't have a
predefined result record type, like dblink().
I think this error text was written before we had multiple OUT
parameters, so it was okay at the time; but now it needs to be
more precise.
regards, tom lane
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-docs@postgresql.org
Cc: tgl@sss.pgh.pa.us, bruce@momjian.us, david.g.johnston@gmail.com, guyren@gmail.com, pgsql-docs@lists.postgresql.org
Subject: Re: Please provide examples of rows from
In-Reply-To: <798909.1600562993@sss.pgh.pa.us>
* 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