diff options
Diffstat (limited to 'src/bin/psql')
| -rw-r--r-- | src/bin/psql/command.c | 6 | ||||
| -rw-r--r-- | src/bin/psql/describe.c | 20 | ||||
| -rw-r--r-- | src/bin/psql/describe.h | 4 | ||||
| -rw-r--r-- | src/bin/psql/tab-complete.c | 5 |
4 files changed, 21 insertions, 14 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index a095e0321b..8bd2e14f56 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.159 2006/02/12 02:54:30 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.160 2006/02/12 03:22:19 momjian Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -379,7 +379,7 @@ exec_command(const char *cmd, break; case 'g': /* no longer distinct from \du */ - success = describeRoles(pattern); + success = describeRoles(pattern, show_verbose); break; case 'l': success = do_lo_list(); @@ -404,7 +404,7 @@ exec_command(const char *cmd, success = listTables(&cmd[1], pattern, show_verbose); break; case 'u': - success = describeRoles(pattern); + success = describeRoles(pattern, show_verbose); break; default: diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index 5caf16df8c..17ca722f30 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.130 2005/11/22 18:17:29 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.131 2006/02/12 03:22:19 momjian Exp $ */ #include "postgres_fe.h" #include "describe.h" @@ -127,8 +127,9 @@ describeTablespaces(const char *pattern, bool verbose) if (verbose) appendPQExpBuffer(&buf, - ",\n spcacl as \"%s\"", - _("Access privileges")); + ",\n spcacl as \"%s\"" + ",\n pg_catalog.shobj_description(oid, 'pg_tablespace') AS \"%s\"", + _("Access privileges"), _("Description")); appendPQExpBuffer(&buf, "\nFROM pg_catalog.pg_tablespace\n"); @@ -362,7 +363,7 @@ listAllDbs(bool verbose) _("Encoding")); if (verbose) appendPQExpBuffer(&buf, - ",\n pg_catalog.obj_description(d.oid, 'pg_database') as \"%s\"", + ",\n pg_catalog.shobj_description(d.oid, 'pg_database') as \"%s\"", _("Description")); appendPQExpBuffer(&buf, "\nFROM pg_catalog.pg_database d" @@ -1382,7 +1383,7 @@ add_tablespace_footer(char relkind, Oid tablespace, char **footers, * Describes roles. Any schema portion of the pattern is ignored. */ bool -describeRoles(const char *pattern) +describeRoles(const char *pattern, bool verbose) { PQExpBufferData buf; PGresult *res; @@ -1398,8 +1399,7 @@ describeRoles(const char *pattern) " CASE WHEN r.rolconnlimit < 0 THEN CAST('%s' AS pg_catalog.text)\n" " ELSE CAST(r.rolconnlimit AS pg_catalog.text)\n" " END AS \"%s\", \n" - " ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) as \"%s\"\n" - "FROM pg_catalog.pg_roles r\n", + " ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) as \"%s\"", _("Role name"), _("yes"), _("no"), _("Superuser"), _("yes"), _("no"), _("Create role"), @@ -1407,6 +1407,12 @@ describeRoles(const char *pattern) _("no limit"), _("Connections"), _("Member of")); + if (verbose) + appendPQExpBuffer(&buf, "\n, pg_catalog.shobj_description(r.oid, 'pg_authid') AS \"%s\"", + _("Description")); + + appendPQExpBuffer(&buf, "\nFROM pg_catalog.pg_roles r\n"); + processNamePattern(&buf, pattern, false, false, NULL, "r.rolname", NULL, NULL); diff --git a/src/bin/psql/describe.h b/src/bin/psql/describe.h index 22528f95a3..6289238736 100644 --- a/src/bin/psql/describe.h +++ b/src/bin/psql/describe.h @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/describe.h,v 1.29 2005/08/14 18:49:30 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/psql/describe.h,v 1.30 2006/02/12 03:22:19 momjian Exp $ */ #ifndef DESCRIBE_H #define DESCRIBE_H @@ -26,7 +26,7 @@ extern bool describeTypes(const char *pattern, bool verbose); extern bool describeOperators(const char *pattern); /* \du, \dg */ -extern bool describeRoles(const char *pattern); +extern bool describeRoles(const char *pattern, bool verbose); /* \z (or \dp) */ extern bool permissionsList(const char *pattern); diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index fd32a520fd..f77b3a8f43 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.145 2006/02/11 21:55:35 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.146 2006/02/12 03:22:19 momjian Exp $ */ /*---------------------------------------------------------------------- @@ -925,7 +925,8 @@ psql_completion(char *text, int start, int end) static const char *const list_COMMENT[] = {"CAST", "CONVERSION", "DATABASE", "INDEX", "LANGUAGE", "RULE", "SCHEMA", "SEQUENCE", "TABLE", "TYPE", "VIEW", "COLUMN", "AGGREGATE", "FUNCTION", - "OPERATOR", "TRIGGER", "CONSTRAINT", "DOMAIN", "LARGE OBJECT", NULL}; + "OPERATOR", "TRIGGER", "CONSTRAINT", "DOMAIN", "LARGE OBJECT", + "TABLESPACE", "ROLE", NULL}; COMPLETE_WITH_LIST(list_COMMENT); } |
