aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2009-02-23 15:59:55 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2009-02-23 15:59:55 +0000
commit7de7876cd547b7994b1b0c4bd831364679768029 (patch)
tree45c2bc01c0e3c725d091bf0baf55ffe7466111e0 /src
parent3e96ed4c2b3e8422eb57ab8aaa379d5e1208d981 (diff)
downloadpostgresql-7de7876cd547b7994b1b0c4bd831364679768029.tar.gz
postgresql-7de7876cd547b7994b1b0c4bd831364679768029.zip
Fix psql's \dD to show only one row per domain, even when the domain has
multiple check constraints.
Diffstat (limited to 'src')
-rw-r--r--src/bin/psql/describe.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index ec5760c531f..beab9ca5281 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.199 2009/02/11 19:12:04 alvherre Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.200 2009/02/23 15:59:55 tgl Exp $
*/
#include "postgres_fe.h"
@@ -2077,10 +2077,11 @@ listDomains(const char *pattern, bool showSystem)
" WHEN NOT t.typnotnull AND t.typdefault IS NOT NULL THEN 'default '||t.typdefault\n"
" ELSE ''\n"
" END as \"%s\",\n"
- " pg_catalog.pg_get_constraintdef(r.oid, true) as \"%s\"\n"
+ " pg_catalog.array_to_string(ARRAY(\n"
+ " SELECT pg_catalog.pg_get_constraintdef(r.oid, true) FROM pg_catalog.pg_constraint r WHERE t.oid = r.contypid\n"
+ " ), ' ') as \"%s\"\n"
"FROM pg_catalog.pg_type t\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n"
- " LEFT JOIN pg_catalog.pg_constraint r ON t.oid = r.contypid\n"
"WHERE t.typtype = 'd'\n",
gettext_noop("Schema"),
gettext_noop("Name"),
@@ -2089,7 +2090,7 @@ listDomains(const char *pattern, bool showSystem)
gettext_noop("Check"));
if (!showSystem)
- appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
+ appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n");
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "t.typname", NULL,