From: Heikki Linnakangas Date: Fri, 25 Jan 2013 15:19:11 +0000 (+0200) Subject: Add prosecdef to \df+ output. X-Git-Tag: REL9_3_BETA1~430 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=893686762;p=postgresql Add prosecdef to \df+ output. Jon Erdman, reviewed by Phil Sorber and Stephen Frost. --- diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 4c99cd9951..4c87d8ad7f 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1188,7 +1188,7 @@ testdb=> class="parameter">pattern is specified, only functions whose names match the pattern are shown. If the form \df+ is used, additional information - about each function, including volatility, language, source + about each function, including security, volatility, language, source code and description, is shown. By default, only user-created objects are shown; supply a pattern or the S modifier to include system objects. diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index 87174cc919..8064a3d702 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -256,7 +256,7 @@ describeFunctions(const char *functypes, const char *pattern, bool verbose, bool " WHEN p.proiswindow THEN '%s'\n" " WHEN p.prorettype = 'pg_catalog.trigger'::pg_catalog.regtype THEN '%s'\n" " ELSE '%s'\n" - "END as \"%s\"", + " END as \"%s\"", gettext_noop("Result data type"), gettext_noop("Argument data types"), /* translator: "agg" is short for "aggregate" */ @@ -330,15 +330,19 @@ describeFunctions(const char *functypes, const char *pattern, bool verbose, bool if (verbose) appendPQExpBuffer(&buf, + ",\n CASE WHEN prosecdef THEN '%s' ELSE '%s' END AS \"%s\"" ",\n CASE\n" " WHEN p.provolatile = 'i' THEN '%s'\n" " WHEN p.provolatile = 's' THEN '%s'\n" " WHEN p.provolatile = 'v' THEN '%s'\n" - "END as \"%s\"" + " END as \"%s\"" ",\n pg_catalog.pg_get_userbyid(p.proowner) as \"%s\",\n" " l.lanname as \"%s\",\n" " p.prosrc as \"%s\",\n" " pg_catalog.obj_description(p.oid, 'pg_proc') as \"%s\"", + gettext_noop("definer"), + gettext_noop("invoker"), + gettext_noop("Security"), gettext_noop("immutable"), gettext_noop("stable"), gettext_noop("volatile"),