Show enum values in psql's \dt+. David Fetter.
authorAndrew Dunstan <andrew@dunslane.net>
Mon, 5 May 2008 00:11:31 +0000 (00:11 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Mon, 5 May 2008 00:11:31 +0000 (00:11 +0000)
src/bin/psql/describe.c

index 7e585805763522853d3c24ef591cfca136882c66..c0ed189df29f507b29a0835addd5c1f8947a1889 100644 (file)
@@ -307,11 +307,22 @@ describeTypes(const char *pattern, bool verbose)
                                                  "    WHEN t.typlen < 0\n"
                                                  "      THEN CAST('var' AS pg_catalog.text)\n"
                                                  "    ELSE CAST(t.typlen AS pg_catalog.text)\n"
-                                                 "  END AS \"%s\",\n",
+                                                 "  END AS \"%s\",\n"
+                                                 "  pg_catalog.array_to_string(\n"
+                                                 "      ARRAY(\n"
+                                                 "                  SELECT e.enumlabel\n"
+                                                 "          FROM pg_catalog.pg_enum e\n"
+                                                 "          WHERE e.enumtypid = t.oid\n"
+                                                 "          ORDER BY e.oid\n"
+                                                 "      ),\n"
+                                                 "      E'\\n'\n"
+                                                 "  ) AS \"%s\",\n",
                                                  gettext_noop("Internal name"),
-                                                 gettext_noop("Size"));
+                                                 gettext_noop("Size"),
+                                                 gettext_noop("Elements"));
+                                                 
        appendPQExpBuffer(&buf,
-                               "  pg_catalog.obj_description(t.oid, 'pg_type') as \"%s\"\n",
+                                         "  pg_catalog.obj_description(t.oid, 'pg_type') as \"%s\"\n",
                                          gettext_noop("Description"));
 
        appendPQExpBuffer(&buf, "FROM pg_catalog.pg_type t\n"