Re: Redefine default result from PQhost()?

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Redefine default result from PQhost()?
Date: 2015-11-26 10:02:53
Message-ID: CABUevEx+eabgYCyS+N1cMiHbg=14FHzhhOaWv30+PrjsP1oysw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Nov 25, 2015 at 11:59 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Currently, libpq's PQhost() function will return NULL if the connection is
> using the default Unix-socket connection address. This seems like a
> pretty dubious definition to me. psql works around it in several places
> with
>
> host = PQhost(pset.db);
> if (host == NULL)
> host = DEFAULT_PGSOCKET_DIR;
>
> That seems rather duplicative, and it also means that both libpq and psql
> have the default socket directory hard-wired into them, which does not
> seem like a good thing. It's conceivable that psql could get used with
> a libpq built with a different default, in which case these places would
> be outright lying about which socket is being used.
>
> I think we should do this:
>
> char *
> PQhost(const PGconn *conn)
> {
> if (!conn)
> return NULL;
> if (conn->pghost != NULL && conn->pghost[0] != '\0')
> return conn->pghost;
> else
> {
> #ifdef HAVE_UNIX_SOCKETS
> - return conn->pgunixsocket;
> + if (conn->pgunixsocket != NULL && conn->pgunixsocket[0] != '\0')
> + return conn->pgunixsocket;
> + else
> + return DEFAULT_PGSOCKET_DIR;
> #else
> return DefaultHost;
> #endif
> }
> }
>
> As a definitional change, this would be for HEAD only.
>
> Comments?
>

I agree with this change in genera. But I wonder if there's a risk here
that we break some applications isnt' it? It's clearly a backwards
incompatible change, so wouldn't it require a bump of libpq version? And
I'm not sure it's worth that on it's own...

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kouhei Kaigai 2015-11-26 10:27:58 Re: CustomScan in a larger structure (RE: CustomScan support on readfuncs.c)
Previous Message Magnus Hagander 2015-11-26 09:45:01 Re: pg_stat_replication log positions vs base backups