Support named parameters in information_schema.parameters,

per Dennis Bjorklund.  I did not force initdb for this, but
you'd need to do one to get the improved view.
This commit is contained in:
Tom Lane 2004-01-24 23:45:13 +00:00
parent c8bcd5ca92
commit 9d8888079d
2 changed files with 7 additions and 7 deletions

View file

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.13 2003/12/13 23:59:06 neilc Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.14 2004/01/24 23:45:13 tgl Exp $ -->
<chapter id="information-schema">
<title>The Information Schema</title>
@ -1823,7 +1823,7 @@ ORDER BY c.ordinal_position;
<para>
The view <literal>parameters</literal> contains information about
the parameters (arguments) all functions in the current database.
the parameters (arguments) of all functions in the current database.
Only those functions are shown that the current user has access to
(by way of being the owner or having some privilege).
</para>
@ -1875,8 +1875,8 @@ ORDER BY c.ordinal_position;
<entry><literal>parameter_mode</literal></entry>
<entry><type>character_data</type></entry>
<entry>
Always <literal>IN</literal>, meaning input parameter (In the
future there might be other parameter modes.)
Always <literal>IN</literal>, meaning input parameter (in the
future there might be other parameter modes)
</entry>
</row>
@ -1895,7 +1895,7 @@ ORDER BY c.ordinal_position;
<row>
<entry><literal>parameter_name</literal></entry>
<entry><type>sql_identifier</type></entry>
<entry>Always null, since <productname>PostgreSQL</> does not support named parameters</entry>
<entry>Name of the parameter, or null if the parameter has no name</entry>
</row>
<row>

View file

@ -4,7 +4,7 @@
*
* Copyright 2003, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.21 2003/12/17 22:11:30 tgl Exp $
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.22 2004/01/24 23:45:13 tgl Exp $
*/
/*
@ -703,7 +703,7 @@ CREATE VIEW parameters AS
CAST('IN' AS character_data) AS parameter_mode,
CAST('NO' AS character_data) AS is_result,
CAST('NO' AS character_data) AS as_locator,
CAST(null AS sql_identifier) AS parameter_name,
CAST(NULLIF(p.proargnames[pos.n], '') AS sql_identifier) AS parameter_name,
CAST(
CASE WHEN t.typelem <> 0 AND t.typlen = -1 THEN 'ARRAY'
WHEN nt.nspname = 'pg_catalog' THEN format_type(t.oid, null)