Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
psql: Don't try to print a partition constraint we didn't fetch.
authorRobert Haas <rhaas@postgresql.org>
Fri, 29 Sep 2017 19:59:11 +0000 (15:59 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 29 Sep 2017 19:59:11 +0000 (15:59 -0400)
If \d rather than \d+ is used, then verbose is false and we don't ask
the server for the partition constraint; so we shouldn't print it in
that case either.

Maksim Milyutin, per a report from Jesper Pedersen.  Reviewed by
Jesper Pedersen and Amit Langote.

Discussion: http://postgr.es/m/2af5fc4d-7bcc-daa8-4fe6-86274bea363c@redhat.com

src/bin/psql/describe.c

index a3209b73fa225327d82fe6596521168f7fc4201c..06885715a61cd23a646aaa33a0c149a5e154b239 100644 (file)
@@ -1985,13 +1985,16 @@ describeOneTableDetails(const char *schemaname,
                              partdef);
            printTableAddFooter(&cont, tmpbuf.data);
 
-           /* If there isn't any constraint, show that explicitly */
-           if (partconstraintdef == NULL || partconstraintdef[0] == '\0')
-               printfPQExpBuffer(&tmpbuf, _("No partition constraint"));
-           else
-               printfPQExpBuffer(&tmpbuf, _("Partition constraint: %s"),
-                                 partconstraintdef);
-           printTableAddFooter(&cont, tmpbuf.data);
+           if (verbose)
+           {
+               /* If there isn't any constraint, show that explicitly */
+               if (partconstraintdef == NULL || partconstraintdef[0] == '\0')
+                   printfPQExpBuffer(&tmpbuf, _("No partition constraint"));
+               else
+                   printfPQExpBuffer(&tmpbuf, _("Partition constraint: %s"),
+                                     partconstraintdef);
+               printTableAddFooter(&cont, tmpbuf.data);
+           }
 
            PQclear(result);
        }