Index: doc/src/sgml/ref/psql-ref.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/psql-ref.sgml,v
retrieving revision 1.117
diff -c -c -r1.117 psql-ref.sgml
*** doc/src/sgml/ref/psql-ref.sgml 12 Jul 2004 20:41:08 -0000 1.117
--- doc/src/sgml/ref/psql-ref.sgml 13 Jul 2004 16:42:35 -0000
***************
*** 990,996 ****
Lists all available schemas (namespaces). If pattern (a regular expression)
is specified, only schemas whose names match the pattern are listed.
! Non-local temporary schemas are suppressed.
--- 990,998 ----
Lists all available schemas (namespaces). If pattern (a regular expression)
is specified, only schemas whose names match the pattern are listed.
! Non-local temporary schemas are suppressed. If +
! is appended to the command name, each object is listed with its associated
! permissions and description, if any.
Index: src/bin/psql/command.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/command.c,v
retrieving revision 1.120
diff -c -c -r1.120 command.c
*** src/bin/psql/command.c 11 Jul 2004 21:34:03 -0000 1.120
--- src/bin/psql/command.c 13 Jul 2004 16:42:36 -0000
***************
*** 326,332 ****
success = do_lo_list();
break;
case 'n':
! success = listSchemas(pattern);
break;
case 'o':
success = describeOperators(pattern);
--- 326,332 ----
success = do_lo_list();
break;
case 'n':
! success = listSchemas(pattern, show_verbose);
break;
case 'o':
success = describeOperators(pattern);
Index: src/bin/psql/describe.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/describe.c,v
retrieving revision 1.101
diff -c -c -r1.101 describe.c
*** src/bin/psql/describe.c 13 Jul 2004 02:46:21 -0000 1.101
--- src/bin/psql/describe.c 13 Jul 2004 16:42:39 -0000
***************
*** 1693,1699 ****
* Describes schemas (namespaces)
*/
bool
! listSchemas(const char *pattern)
{
PQExpBufferData buf;
PGresult *res;
--- 1693,1699 ----
* Describes schemas (namespaces)
*/
bool
! listSchemas(const char *pattern, bool verbose)
{
PQExpBufferData buf;
PGresult *res;
***************
*** 1702,1714 ****
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf,
"SELECT n.nspname AS \"%s\",\n"
! " u.usename AS \"%s\"\n"
! "FROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u\n"
" ON n.nspowner=u.usesysid\n"
"WHERE (n.nspname NOT LIKE 'pg\\\\_temp\\\\_%%' OR\n"
! " n.nspname = (pg_catalog.current_schemas(true))[1])\n", /* temp schema is first */
! _("Name"),
! _("Owner"));
processNamePattern(&buf, pattern, true, false,
NULL, "n.nspname", NULL,
NULL);
--- 1702,1722 ----
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf,
"SELECT n.nspname AS \"%s\",\n"
! " u.usename AS \"%s\"",
! _("Name"), _("Owner"));
!
! if (verbose)
! appendPQExpBuffer(&buf,
! ",\n n.nspacl as \"%s\","
! " pg_catalog.obj_description(n.oid, 'pg_namespace') as \"%s\"",
! _("Access privileges"), _("Description"));
!
! appendPQExpBuffer(&buf,
! "\nFROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u\n"
" ON n.nspowner=u.usesysid\n"
"WHERE (n.nspname NOT LIKE 'pg\\\\_temp\\\\_%%' OR\n"
! " n.nspname = (pg_catalog.current_schemas(true))[1])\n"); /* temp schema is first */
!
processNamePattern(&buf, pattern, true, false,
NULL, "n.nspname", NULL,
NULL);
Index: src/bin/psql/describe.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/describe.h,v
retrieving revision 1.24
diff -c -c -r1.24 describe.h
*** src/bin/psql/describe.h 18 Jun 2004 06:14:04 -0000 1.24
--- src/bin/psql/describe.h 13 Jul 2004 16:42:39 -0000
***************
*** 56,62 ****
bool listCasts(const char *pattern);
/* \dn */
! bool listSchemas(const char *pattern);
#endif /* DESCRIBE_H */
--- 56,62 ----
bool listCasts(const char *pattern);
/* \dn */
! bool listSchemas(const char *pattern, bool verbose);
#endif /* DESCRIBE_H */
Index: src/bin/psql/help.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/help.c,v
retrieving revision 1.88
diff -c -c -r1.88 help.c
*** src/bin/psql/help.c 18 Jun 2004 06:14:04 -0000 1.88
--- src/bin/psql/help.c 13 Jul 2004 16:42:40 -0000
***************
*** 218,224 ****
fprintf(output, _(" \\dD [PATTERN] list domains\n"));
fprintf(output, _(" \\df [PATTERN] list functions (add \"+\" for more detail)\n"));
fprintf(output, _(" \\dg [PATTERN] list groups\n"));
! fprintf(output, _(" \\dn [PATTERN] list schemas\n"));
fprintf(output, _(" \\do [NAME] list operators\n"));
fprintf(output, _(" \\dl list large objects, same as \\lo_list\n"));
fprintf(output, _(" \\dp [PATTERN] list table, view and sequence access privileges\n"));
--- 218,224 ----
fprintf(output, _(" \\dD [PATTERN] list domains\n"));
fprintf(output, _(" \\df [PATTERN] list functions (add \"+\" for more detail)\n"));
fprintf(output, _(" \\dg [PATTERN] list groups\n"));
! fprintf(output, _(" \\dn [PATTERN] list schemas (add \"+\" for more detail)\n"));
fprintf(output, _(" \\do [NAME] list operators\n"));
fprintf(output, _(" \\dl list large objects, same as \\lo_list\n"));
fprintf(output, _(" \\dp [PATTERN] list table, view and sequence access privileges\n"));