Make psql distinguish between unique indices and unique constraints.
authorRobert Haas <rhaas@postgresql.org>
Sun, 1 Aug 2010 01:08:29 +0000 (01:08 +0000)
committerRobert Haas <rhaas@postgresql.org>
Sun, 1 Aug 2010 01:08:29 +0000 (01:08 +0000)
Josh Kupershmidt.  Reviewing and kibitzing by Kevin Grittner and me.

src/bin/psql/describe.c
src/test/regress/expected/typed_table.out

index 954ce42b684e656e40c1b0b8d9a452a41d417fae..b4fa7df81dc16938538c8058e09f144be7b3db99 100644 (file)
@@ -8,7 +8,7 @@
  *
  * Copyright (c) 2000-2010, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.242 2010/07/06 19:18:59 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.243 2010/08/01 01:08:29 rhaas Exp $
  */
 #include "postgres_fe.h"
 
@@ -1592,7 +1592,12 @@ describeOneTableDetails(const char *schemaname,
                        if (strcmp(PQgetvalue(result, i, 1), "t") == 0)
                            appendPQExpBuffer(&buf, " PRIMARY KEY,");
                        else if (strcmp(PQgetvalue(result, i, 2), "t") == 0)
-                           appendPQExpBuffer(&buf, " UNIQUE,");
+                       {
+                           if (strcmp(PQgetvalue(result, i, 7), "u") == 0)
+                               appendPQExpBuffer(&buf, " UNIQUE CONSTRAINT,");
+                           else
+                               appendPQExpBuffer(&buf, " UNIQUE,");
+                       }
 
                        /* Everything after "USING" is echoed verbatim */
                        indexdef = PQgetvalue(result, i, 5);
index 8bb9a1dd6a7f0eca907f382dd1f261d2d8974989..6db8d4c803158a97e83022147dfd1a06e2fa3e9f 100644 (file)
@@ -55,7 +55,7 @@ NOTICE:  CREATE TABLE / UNIQUE will create implicit index "persons2_name_key" fo
  name   | text    | 
 Indexes:
     "persons2_pkey" PRIMARY KEY, btree (id)
-    "persons2_name_key" UNIQUE, btree (name)
+    "persons2_name_key" UNIQUE CONSTRAINT, btree (name)
 Typed table of type: person_type
 
 CREATE TABLE persons3 OF person_type (