psql: Make output of \dD more stable
authorPeter Eisentraut <[email protected]>
Mon, 15 Apr 2024 07:28:48 +0000 (09:28 +0200)
committerPeter Eisentraut <[email protected]>
Mon, 15 Apr 2024 07:28:48 +0000 (09:28 +0200)
\dD showed domain check constraints in arbitrary order, which can
cause regression test failures, which was exposed by commit
9895b35cb8.  To fix, order the constraints by conname, which matches
what psql does in other queries listing constraints.

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

index 1f0a056d90b661fec7131dcaf807fe23a63fcfe9..4a9ee4a54d59c4df05ded4670d8a71bcf43da735 100644 (file)
@@ -4449,7 +4449,7 @@ listDomains(const char *pattern, bool verbose, bool showSystem)
                      "       CASE WHEN t.typnotnull THEN 'not null' END as \"%s\",\n"
                      "       t.typdefault 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 AND r.contype = 'c'\n"
+                     "         SELECT pg_catalog.pg_get_constraintdef(r.oid, true) FROM pg_catalog.pg_constraint r WHERE t.oid = r.contypid AND r.contype = 'c' ORDER BY r.conname\n"
                      "       ), ' ') as \"%s\"",
                      gettext_noop("Schema"),
                      gettext_noop("Name"),
index db0b8a180a3ecfa1f99109960293afa104ace678..f65b66345ab5710189259c7d18498b6f4a62549a 100644 (file)
@@ -789,7 +789,7 @@ alter domain con add check (VALUE > 0);
                                          List of domains
  Schema | Name |  Type   | Collation | Nullable | Default |                Check                 
 --------+------+---------+-----------+----------+---------+--------------------------------------
- public | con  | integer |           |          |         | CHECK (VALUE < 34) CHECK (VALUE > 0)
+ public | con  | integer |           |          |         | CHECK (VALUE > 0) CHECK (VALUE < 34)
 (1 row)
 
 insert into domcontest values (-5); -- fails