Sort default partition to bottom of psql \d+
authorSimon Riggs <simon@2ndQuadrant.com>
Wed, 22 Nov 2017 18:17:47 +0000 (05:17 +1100)
committerSimon Riggs <simon@2ndQuadrant.com>
Wed, 22 Nov 2017 18:17:47 +0000 (05:17 +1100)
Minor patch to change sort order only

Author: Ashutosh Bapat
Reviewed-by: Álvaro Herrera, Simon Riggs
src/bin/psql/describe.c
src/test/regress/expected/insert.out

index 44c508971a0761522d803772fe0200ca6f5d8781..99167104d44fb9b1f3609a1cc2c0489d1730b76c 100644 (file)
@@ -2875,7 +2875,8 @@ describeOneTableDetails(const char *schemaname,
                                                          "       c.relkind"
                                                          " FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i"
                                                          " WHERE c.oid=i.inhrelid AND i.inhparent = '%s'"
-                                                         " ORDER BY c.oid::pg_catalog.regclass::pg_catalog.text;", oid);
+                                                         " ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT',"
+                                                         "          c.oid::pg_catalog.regclass::pg_catalog.text;", oid);
                else if (pset.sversion >= 80300)
                        printfPQExpBuffer(&buf,
                                                          "SELECT c.oid::pg_catalog.regclass"
index 1116b3a8d244f96d0ee38a5b228185a3d4bb414a..7481bebd83f9613443dadcf1f1cdad1623ed4a9e 100644 (file)
@@ -436,11 +436,11 @@ from hash_parted order by part;
 Partition key: LIST (lower(a))
 Partitions: part_aa_bb FOR VALUES IN ('aa', 'bb'),
             part_cc_dd FOR VALUES IN ('cc', 'dd'),
-            part_default DEFAULT, PARTITIONED,
             part_ee_ff FOR VALUES IN ('ee', 'ff'), PARTITIONED,
             part_gg FOR VALUES IN ('gg'), PARTITIONED,
             part_null FOR VALUES IN (NULL),
-            part_xx_yy FOR VALUES IN ('xx', 'yy'), PARTITIONED
+            part_xx_yy FOR VALUES IN ('xx', 'yy'), PARTITIONED,
+            part_default DEFAULT, PARTITIONED
 
 -- cleanup
 drop table range_parted, list_parted;