summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2004-01-24 23:45:13 +0000
committerTom Lane2004-01-24 23:45:13 +0000
commit9d8888079d0fa3575bcda776728212ced5eb5415 (patch)
treedbbd9df5212ec3a1838cf25f1ce004811abbdce1
parentc8bcd5ca92f812d04f9ded963d812360c6ea20a5 (diff)
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.
-rw-r--r--doc/src/sgml/information_schema.sgml10
-rw-r--r--src/backend/catalog/information_schema.sql4
2 files changed, 7 insertions, 7 deletions
diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 9193280ea6c..ff7d877c61b 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -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>
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index db4d79f6de5..d9c484b0243 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -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)