@@ -2665,10 +2665,8 @@ listLanguages(const char *pattern, bool verbose, bool showSystem)
2665
2665
gettext_noop ("Owner" ));
2666
2666
2667
2667
appendPQExpBuffer (& buf ,
2668
- " l.lanpltrusted AS \"%s\",\n"
2669
- " d.description AS \"%s\"" ,
2670
- gettext_noop ("Trusted" ),
2671
- gettext_noop ("Description" ));
2668
+ " l.lanpltrusted AS \"%s\"" ,
2669
+ gettext_noop ("Trusted" ));
2672
2670
2673
2671
if (verbose )
2674
2672
{
@@ -2686,10 +2684,12 @@ listLanguages(const char *pattern, bool verbose, bool showSystem)
2686
2684
}
2687
2685
2688
2686
appendPQExpBuffer (& buf ,
2687
+ ",\n d.description AS \"%s\""
2689
2688
"\nFROM pg_catalog.pg_language l\n"
2690
2689
"LEFT JOIN pg_catalog.pg_description d\n"
2691
2690
" ON d.classoid = l.tableoid AND d.objoid = l.oid\n"
2692
- " AND d.objsubid = 0\n" );
2691
+ " AND d.objsubid = 0\n" ,
2692
+ gettext_noop ("Description" ));
2693
2693
2694
2694
if (pattern )
2695
2695
processSQLNamePattern (pset .db , & buf , pattern , false, false,
@@ -2723,7 +2723,7 @@ listLanguages(const char *pattern, bool verbose, bool showSystem)
2723
2723
* Describes domains.
2724
2724
*/
2725
2725
bool
2726
- listDomains (const char * pattern , bool showSystem )
2726
+ listDomains (const char * pattern , bool verbose , bool showSystem )
2727
2727
{
2728
2728
PQExpBufferData buf ;
2729
2729
PGresult * res ;
@@ -2746,17 +2746,30 @@ listDomains(const char *pattern, bool showSystem)
2746
2746
appendPQExpBuffer (& buf ,
2747
2747
" CASE WHEN t.typnotnull THEN ' not null' ELSE '' END ||\n"
2748
2748
" CASE WHEN t.typdefault IS NOT NULL THEN ' default ' || t.typdefault ELSE '' END\n"
2749
- " ) as \"%s\",\n" ,
2750
- gettext_noop ("Modifier" ));
2751
- appendPQExpBuffer (& buf ,
2749
+ " ) as \"%s\",\n"
2752
2750
" pg_catalog.array_to_string(ARRAY(\n"
2753
2751
" SELECT pg_catalog.pg_get_constraintdef(r.oid, true) FROM pg_catalog.pg_constraint r WHERE t.oid = r.contypid\n"
2754
- " ), ' ') as \"%s\"\n"
2755
- "FROM pg_catalog.pg_type t\n"
2756
- " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n"
2757
- "WHERE t.typtype = 'd'\n" ,
2752
+ " ), ' ') as \"%s\"" ,
2753
+ gettext_noop ("Modifier" ),
2758
2754
gettext_noop ("Check" ));
2759
2755
2756
+ if (verbose )
2757
+ appendPQExpBuffer (& buf ,
2758
+ ",\n d.description as \"%s\"" ,
2759
+ gettext_noop ("Description" ));
2760
+
2761
+ appendPQExpBuffer (& buf ,
2762
+ "\nFROM pg_catalog.pg_type t\n"
2763
+ " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n" );
2764
+
2765
+ if (verbose )
2766
+ appendPQExpBuffer (& buf ,
2767
+ " LEFT JOIN pg_catalog.pg_description d "
2768
+ "ON d.classoid = t.tableoid AND d.objoid = t.oid "
2769
+ "AND d.objsubid = 0\n" );
2770
+
2771
+ appendPQExpBuffer (& buf , "WHERE t.typtype = 'd'\n" );
2772
+
2760
2773
if (!showSystem && !pattern )
2761
2774
appendPQExpBuffer (& buf , " AND n.nspname <> 'pg_catalog'\n"
2762
2775
" AND n.nspname <> 'information_schema'\n" );
@@ -2788,7 +2801,7 @@ listDomains(const char *pattern, bool showSystem)
2788
2801
* Describes conversions.
2789
2802
*/
2790
2803
bool
2791
- listConversions (const char * pattern , bool showSystem )
2804
+ listConversions (const char * pattern , bool verbose , bool showSystem )
2792
2805
{
2793
2806
PQExpBufferData buf ;
2794
2807
PGresult * res ;
@@ -2803,19 +2816,36 @@ listConversions(const char *pattern, bool showSystem)
2803
2816
" pg_catalog.pg_encoding_to_char(c.conforencoding) AS \"%s\",\n"
2804
2817
" pg_catalog.pg_encoding_to_char(c.contoencoding) AS \"%s\",\n"
2805
2818
" CASE WHEN c.condefault THEN '%s'\n"
2806
- " ELSE '%s' END AS \"%s\"\n"
2807
- "FROM pg_catalog.pg_conversion c, pg_catalog.pg_namespace n\n"
2808
- "WHERE n.oid = c.connamespace\n" ,
2819
+ " ELSE '%s' END AS \"%s\"" ,
2809
2820
gettext_noop ("Schema" ),
2810
2821
gettext_noop ("Name" ),
2811
2822
gettext_noop ("Source" ),
2812
2823
gettext_noop ("Destination" ),
2813
2824
gettext_noop ("yes" ), gettext_noop ("no" ),
2814
2825
gettext_noop ("Default?" ));
2815
2826
2827
+ if (verbose )
2828
+ appendPQExpBuffer (& buf ,
2829
+ ",\n d.description AS \"%s\"" ,
2830
+ gettext_noop ("Description" ));
2831
+
2832
+ appendPQExpBuffer (& buf ,
2833
+ "\nFROM pg_catalog.pg_conversion c\n"
2834
+ " JOIN pg_catalog.pg_namespace n "
2835
+ "ON n.oid = c.connamespace\n" );
2836
+
2837
+ if (verbose )
2838
+ appendPQExpBuffer (& buf ,
2839
+ "LEFT JOIN pg_catalog.pg_description d "
2840
+ "ON d.classoid = c.tableoid\n"
2841
+ " AND d.objoid = c.oid "
2842
+ "AND d.objsubid = 0\n" );
2843
+
2844
+ appendPQExpBuffer (& buf , "WHERE true\n" );
2845
+
2816
2846
if (!showSystem && !pattern )
2817
- appendPQExpBuffer (& buf , " AND n.nspname <> 'pg_catalog'\n"
2818
- " AND n.nspname <> 'information_schema'\n" );
2847
+ appendPQExpBuffer (& buf , " AND n.nspname <> 'pg_catalog'\n"
2848
+ " AND n.nspname <> 'information_schema'\n" );
2819
2849
2820
2850
processSQLNamePattern (pset .db , & buf , pattern , true, false,
2821
2851
"n.nspname" , "c.conname" , NULL ,
0 commit comments