Re: connect_timeout parameter in libpq - Mailing list pgsql-patches

From Tom Lane
Subject Re: connect_timeout parameter in libpq
Date
Msg-id 21712.1029209717@sss.pgh.pa.us
Whole thread Raw
In response to connect_timeout parameter in libpq  (Denis A Ustimenko <denis@oldham.ru>)
Responses Re: connect_timeout parameter in libpq  (Denis A Ustimenko <denis@oldham.ru>)
Re: connect_timeout parameter in libpq  (Denis A Ustimenko <denis@oldham.ru>)
List pgsql-patches
Denis A Ustimenko <denis@oldham.ru> writes:
> I need to change current connectDBComplete() behavior ( hang if
> backend are not responding). Here is the patch. Please apply.

Shouldn't such a patch include documentation updates?  (And not
only user-level documentation; this patch adds not even a single
comment to explain what it's doing or why.)

I'm also not thrilled with the way that the patch imposes the
overhead of calculating the timeout whether the user wants it or not.
The time() kernel calls should be skipped unless needed.

A final comment is that the patch's timeout accuracy is quite poor, since
time()'s result is quantized to seconds.  gettimeofday() might be a
better choice.  Also it seems to assume that select() does not modify its
timeout argument, which is not a portable assumption.  On some platforms
the timeout struct is decremented by the elapsed time.

            regards, tom lane

pgsql-patches by date:

Previous
From: Denis A Ustimenko
Date:
Subject: connect_timeout parameter in libpq
Next
From: Gavin Sherry
Date:
Subject: Re: Fix disabled triggers with deferred constraints