summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2009-04-08 22:29:30 +0000
committerTom Lane2009-04-08 22:29:30 +0000
commit4703250a766d72366fa511351e247ba74a5d43cd (patch)
tree01e107434c95994f4ca0047d58f0f35760c43b82
parente0daf7fc3cc6489de2120f882ac2942f0c18ed82 (diff)
Remove psql's ancient hack that suppressed functions taking or returning
cstring from the output of \df. Now that the default behavior is to exclude all system functions, the de-cluttering rationale for this behavior seems pretty weak; and it was always quite confusing/unhelpful if you were actually looking for I/O functions. (Not to mention if you were looking for encoding converters or other cases that might take or return cstring.)
-rw-r--r--doc/src/sgml/ref/psql-ref.sgml10
-rw-r--r--src/bin/psql/describe.c18
2 files changed, 6 insertions, 22 deletions
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 05c35904efe..c5c7fc7e81b 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.222 2009/04/04 00:39:14 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.223 2009/04/08 22:29:30 tgl Exp $
PostgreSQL documentation
-->
@@ -1055,16 +1055,10 @@ testdb=&gt;
<note>
<para>
- To look up functions taking argument or returning values of a specific
+ To look up functions taking arguments or returning values of a specific
type, use your pager's search capability to scroll through the <literal>\df</>
output.
</para>
-
- <para>
- To reduce clutter, <literal>\df</> does not show data type I/O
- functions. This is implemented by ignoring functions that accept
- or return type <type>cstring</>.
- </para>
</note>
</listitem>
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index df59999d200..83858f327d7 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -8,7 +8,7 @@
*
* Copyright (c) 2000-2009, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.207 2009/04/04 00:44:30 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.208 2009/04/08 22:29:30 tgl Exp $
*/
#include "postgres_fe.h"
@@ -274,13 +274,7 @@ describeFunctions(const char *pattern, bool verbose, bool showSystem)
appendPQExpBuffer(&buf,
" LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang\n");
- /*
- * we skip in/out funcs by excluding functions that take or return cstring
- */
- appendPQExpBuffer(&buf,
- "WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype\n"
- " AND p.proargtypes[0] IS DISTINCT FROM 'pg_catalog.cstring'::pg_catalog.regtype\n"
- " AND NOT p.proisagg\n");
+ appendPQExpBuffer(&buf, "WHERE NOT p.proisagg\n");
if (!showSystem && !pattern)
appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n"
@@ -643,7 +637,7 @@ objectDescription(const char *pattern, bool showSystem)
"n.nspname", "p.proname", NULL,
"pg_catalog.pg_function_is_visible(p.oid)");
- /* Function descriptions (except in/outs for datatypes) */
+ /* Function descriptions */
appendPQExpBuffer(&buf,
"UNION ALL\n"
" SELECT p.oid as oid, p.tableoid as tableoid,\n"
@@ -652,11 +646,7 @@ objectDescription(const char *pattern, bool showSystem)
" CAST('%s' AS pg_catalog.text) as object\n"
" FROM pg_catalog.pg_proc p\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n"
-
- " WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype\n"
- " AND (p.proargtypes[0] IS NULL\n"
- " OR p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype)\n"
- " AND NOT p.proisagg\n",
+ " WHERE NOT p.proisagg\n",
gettext_noop("function"));
if (!showSystem && !pattern)