]> granicus.if.org Git - postgresql/commitdiff
Remove no-longer-appropriate special case in psql's \conninfo code.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 3 Aug 2018 16:20:47 +0000 (12:20 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 3 Aug 2018 16:20:47 +0000 (12:20 -0400)
\conninfo prints the results of PQhost() and some other libpq functions.
It used to override the PQhost() result with the hostaddr parameter if
that'd been given, but that's unhelpful when multiple hosts were listed
in the connection string.  Furthermore, it seems unnecessary in the wake
of commit 1944cdc98, since PQhost does any useful substitution itself.
So let's just remove the extra code and print PQhost()'s result without
any editorialization.

Back-patch to v10, as 1944cdc98 (just) was.

Discussion: https://postgr.es/m/23287.1533227021@sss.pgh.pa.us

src/bin/psql/command.c

index f82f361fd84a52a3a52110d6a91e0ace2de8e2d4..5b4d54a442599dc54291c80ab8a5bc09d884ad9b 100644 (file)
@@ -595,25 +595,7 @@ exec_command_conninfo(PsqlScanState scan_state, bool active_branch)
                        printf(_("You are currently not connected to a database.\n"));
                else
                {
-                       char       *host;
-                       PQconninfoOption *connOptions;
-                       PQconninfoOption *option;
-
-                       host = PQhost(pset.db);
-                       /* A usable "hostaddr" overrides the basic sense of host. */
-                       connOptions = PQconninfo(pset.db);
-                       if (connOptions == NULL)
-                       {
-                               psql_error("out of memory\n");
-                               exit(EXIT_FAILURE);
-                       }
-                       for (option = connOptions; option && option->keyword; option++)
-                               if (strcmp(option->keyword, "hostaddr") == 0)
-                               {
-                                       if (option->val != NULL && option->val[0] != '\0')
-                                               host = option->val;
-                                       break;
-                               }
+                       char       *host = PQhost(pset.db);
 
                        /* If the host is an absolute path, the connection is via socket */
                        if (is_absolute_path(host))
@@ -623,8 +605,6 @@ exec_command_conninfo(PsqlScanState scan_state, bool active_branch)
                                printf(_("You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n"),
                                           db, PQuser(pset.db), host, PQport(pset.db));
                        printSSLInfo();
-
-                       PQconninfoFree(connOptions);
                }
        }