33 *
44 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
55 *
6- * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.101 2004/07/13 02:46:21 momjian Exp $
6+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.102 2004/07/13 16:48:16 momjian Exp $
77 */
88#include "postgres_fe.h"
99#include "describe.h"
@@ -1693,7 +1693,7 @@ listCasts(const char *pattern)
16931693 * Describes schemas (namespaces)
16941694 */
16951695bool
1696- listSchemas (const char * pattern )
1696+ listSchemas (const char * pattern , bool verbose )
16971697{
16981698 PQExpBufferData buf ;
16991699 PGresult * res ;
@@ -1702,13 +1702,21 @@ listSchemas(const char *pattern)
17021702 initPQExpBuffer (& buf );
17031703 printfPQExpBuffer (& buf ,
17041704 "SELECT n.nspname AS \"%s\",\n"
1705- " u.usename AS \"%s\"\n"
1706- "FROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u\n"
1705+ " u.usename AS \"%s\"" ,
1706+ _ ("Name" ), _ ("Owner" ));
1707+
1708+ if (verbose )
1709+ appendPQExpBuffer (& buf ,
1710+ ",\n n.nspacl as \"%s\","
1711+ " pg_catalog.obj_description(n.oid, 'pg_namespace') as \"%s\"" ,
1712+ _ ("Access privileges" ), _ ("Description" ));
1713+
1714+ appendPQExpBuffer (& buf ,
1715+ "\nFROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u\n"
17071716 " ON n.nspowner=u.usesysid\n"
17081717 "WHERE (n.nspname NOT LIKE 'pg\\\\_temp\\\\_%%' OR\n"
1709- " n.nspname = (pg_catalog.current_schemas(true))[1])\n" , /* temp schema is first */
1710- _ ("Name" ),
1711- _ ("Owner" ));
1718+ " n.nspname = (pg_catalog.current_schemas(true))[1])\n" ); /* temp schema is first */
1719+
17121720 processNamePattern (& buf , pattern , true, false,
17131721 NULL , "n.nspname" , NULL ,
17141722 NULL );
0 commit comments