Re: PQHost() undefined behavior if connecting string contains bothhost and hostaddr types
От | Peter Eisentraut |
---|---|
Тема | Re: PQHost() undefined behavior if connecting string contains bothhost and hostaddr types |
Дата | |
Msg-id | 71a5b770-f3ce-8273-77f5-8e9ad4a63e31@2ndquadrant.com обсуждение исходный текст |
Ответ на | PQHost() undefined behavior if connecting string contains both hostand hostaddr types (Haribabu Kommi <kommi.haribabu@gmail.com>) |
Ответы |
Re: PQHost() undefined behavior if connecting string contains bothhost and hostaddr types
|
Список | pgsql-hackers |
On 1/13/18 22:19, Haribabu Kommi wrote: > While working on [1], we find out the inconsistency in PQHost() behavior > if the connecting string that is passed to connect to the server contains > multiple hosts with both host and hostaddr types. For example, > > host=host1,host2 hostaddr=127.0.0.1,127.0.0.1 port=5434,5432 > > As the hostaddr is given preference when both host and hostaddr is > specified, so the connection type for both addresses of the above > conninfo is CHT_HOST_ADDRESS. So the PQhost() returns the > conn->pghost value i.e "host1,host2" instead of the actual host that > is connected. > > Instead of checking the connection type while returning the host > details, it should check whether the host is NULL or not? with this > change it returns the expected value for all the connection types. I agree that something is wrong here. It seems, however, that PGhost() has always been broken for hostaddr use. In 9.6 (before the multiple-hosts stuff was introduced), when connecting to "hostaddr=127.0.0.1", PGhost() returns "/tmp". Urgh. I think we should decide what PGhost() is supposed to mean when hostaddr is in use, and then make a fix for that consistently across all versions. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: